[英]JPA/Hibernate Criteria API JOIN
我在CriteriaAPI中加入时遇到问题。
我想使用唯一的Forma
实体获得结果,但是目前我有多个实体(它们的数量等于Gniazdo
实体的数量)。
这是我的代码:
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Forma> query = cb.createQuery(Forma.class);
Root<Forma> root = query.from(Forma.class);
Join<Forma, Gniazdo> socketJoin = root.join("gniazda", JoinType.INNER);
List<Predicate> predicates = new ArrayList<Predicate>();
predicates.add(root.get("dataUsuniecia").isNull());
predicates.add(socketJoin.get("dataUsuniecia").isNull());
Predicate[] conditions = predicates.toArray(new Predicate[predicates.size()]);
query.where(cb.and(conditions));
List<Forma> queryResult = em.createQuery(query).getResultList();
请帮忙。
您需要使用query.distinct(true)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.