0
我試圖使用JPA Criteria Builder來連接兩個表Country
和Geotarget
。 等效SQL
是使用JPA Criteria Builder與表連接
Select distinct Country.* from Country Inner Join Geotarget
where Geotarget.Country_ID = Country.ID;
我的代碼是
CriteriaBuilder criteriaBuilder getTransactionalEntityManager().getCriteriaBuilder();
CriteriaQuery<Country> criteriaQuery = criteriaBuilder.createQuery(Country.class);
Root<Country> root = criteriaQuery.from(Country.class);
Join<Geotarget, Country> geotargetJoin = root.join(Geotarget_.country, JoinType.INNER);
Predicate predicate = criteriaBuilder.equal(Country_.id,Geotarget_.country);
criteriaQuery = criteriaQuery.where(predicate);
criteriaQuery.select(Country.class).distinct(true);
return findAllObjects(criteriaQuery);
不過是錯誤的,它甚至沒有在地方解析。特別是我似乎無法找到連接線的代碼,或者似乎不喜歡比較兩個字段的等號原因。 你能以正確的代碼幫助我嗎?
顯示每個實體相關屬性的定義。 – perissf