gpt4 book ai didi

java - JPA/Hibernate 标准 API JOIN

转载 作者:行者123 更新时间:2023-12-01 14:24:23 26 4
gpt4 key购买 nike

我在加入 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)

关于java - JPA/Hibernate 标准 API JOIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17282844/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com