Questa è l'ulteriore domanda a questo:Come utilizzare JPA Criteri API quando si uniscono molte tabelle
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"));
Una società ha un indirizzo, all'interno l'indirizzo si trova la città-POJO e Paese- POJO. Come posso usarlo in JOIN
? Ho cercato di farvi riferimento con address.city
ma ho ottenuto il messaggio di errore:
L'attributo [address.city] dal tipo gestito [EntityTypeImpl @ 1.692.700,229 mila: Company [javaType: class com.test.domain.Company descrittore: RelationalDescriptor (com.test.domain.Company -> [DatabaseTable (COMPANY)]), mapping: 16]] non è presente.