這是另一個問題,這個時候使用JPA標準API:如何加入許多表
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"));
某公司的地址,這個地址裏面有市POJO和國家 - POJO。我如何在JOIN
中使用它?我試圖與address.city
引用它,但我得到的錯誤消息:
從被管理型 [EntityTypeImpl @ 1692700229屬性[address.city]:公司[java類型:類 com.test.domain.Company描述符: RelationalDescriptor(com.test.domain.Company - > [DatabaseTable(COMPANY)]),mappings:16]]不存在。