Это еще вопрос к этому:
Как использовать JPA Criteria API в 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"));
У компании есть адрес, внутри адреса есть City-pojo и Country-Pojo. Как я могу использовать его в JOIN
? Я попытался сослаться на него с помощью address.city
, но получил сообщение об ошибке:
Атрибут [address.city] из управляемого типа [EntityTypeImpl@1692700229:Company [javaType: class com.test.domain.Company descriptor: RelationalDescriptor(com.test.domain.Company --> [DatabaseTable(COMPANY)]), отображения: 16]] нет.