gpt4 book ai didi

java - 具有两个角色的一个用户的输出

转载 作者:行者123 更新时间:2023-12-01 14:32:19 28 4
gpt4 key购买 nike

我有两个实体 UserRole .他们有一个单向 ManyToMany联系。但是在调用用户列表时,出于某种原因,用户会以多个角色返回多次。

下面我提供了代码和结果。

Result



new pic

Дебаг



new pic

Code with HQL queries


 public List<User> listUsers() {
List resultList = manager.createQuery("SELECT u FROM User u LEFT JOIN FETCH u.roles").getResultList();
return resultList;
}

更新:

我找到了这个解决方案:
public List<User> listUsers() {
List resultList = manager.createQuery("SELECT u FROM User u LEFT JOIN FETCH u.roles")
.unwrap(org.hibernate.Query.class).setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
.getResultList();
return resultList;
}

但是 criteria API速度慢,不推荐使用,已弃用。

如何显示具有两个角色的一个用户???

最佳答案

需要加一个distinct查询中的语句以避免多个条目

 public List<User> listUsers() {
List resultList = manager.createQuery("SELECT distinct u FROM User u LEFT JOIN FETCH u.roles").getResultList();
return resultList;
}

关于java - 具有两个角色的一个用户的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61696537/

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