これはこれにさらに質問です参加するとき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や各国のアドレスがありましたがポホ。 JOIN
でどのように使用できますか?私はaddress.city
でそれを参照しようとしましたが、私はエラーメッセージが表示されました:
マネージ型 [EntityTypeImpl 1692700229 @から属性[address.city]:会社[のJavaType:クラス com.test.domain.Company記述子: RelationalDescriptor(com.test.domain.Company-> [DatabaseTable(COMPANY)])、マッピング:16]]が存在しません。