Đây là câu hỏi hơn nữa để này:Làm thế nào để sử dụng JPA Tiêu chuẩn API khi tham gia nhiều bảng
How to use JPA Criteria API in JOIN
CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder();
CriteriaQuery<Company> criteria = criteriaBuilder.createQuery(Company.class);
Root<Company> companyRoot = criteria.from(Company.class);
Join<Company,Product> products = companyRoot.join("dentist");
Join<Company, City> cityJoin = companyRoot.join("address.city");//Company->Address->City-city
criteria.where(criteriaBuilder.equal(products.get("category"), "dentist"), criteriaBuilder.equal(cityJoin.get("city"),"Leeds"));
Một công ty đã một địa chỉ, bên trong địa chỉ đó là City-POJO và từng quốc gia Pojo. Làm thế nào tôi có thể sử dụng nó trong JOIN
? Tôi cố gắng để tham khảo nó với address.city
nhưng tôi đã nhận được thông báo lỗi:
Thuộc tính [address.city] từ kiểu quản lý [EntityTypeImpl @ 1692700229: Công ty [javaType: lớp com.test.domain.Company descriptor: RelationalDescriptor (com.test.domain.Company -> [DatabaseTable (COMPANY)]), ánh xạ: 16]] không có.