彼得潘55 2017-01-20 03:12 采纳率: 0%
浏览 1031
已结题

hibernate中写hql语句查询多对多用户pojo类

查询条件是User属性和与User多对多关联的UserGroup的id和Role的id。
我开始是这样写的:
String hql = "select u from User u join fetch u.userGounp ug join fetch u.role r where u.userName like '%孙悟空%' and ug.id=2 and ug.id=4 and r.id=1";
但并没有查出来结果,而数据库中是有一条user满足条件的。
后来尝试写这样语句:
String hql = "select u from User u join fetch u.userGounp ug join fetch u.role r where u.userName like '%孙悟空%' and ug.id in(2,4) and r.id=1";
但查询的结果中,同一个id 的User信息出现了两次,哪怕使用左连接也一样查询出两条同一个id,而且满足ug.id=2或者ug.id=4的也查询出来了。
有哪位帮我解决一下吗? 我要的要求是:
1.查询条件可以使User的属性 (ps:userName)
2.满足第一个要求下查询它的用户组是满足条件(ps:userGroup.id=2 and userGroup.id=2)
3.是角色跟第二条要求一样
4.分页,分页方法我已经写好了(getListForPage(hql, fromIndex,pageSize);)

  • 写回答

6条回答 默认 最新

  • 彼得潘55 2017-01-20 08:38
    关注

    DISTINCT 可以去除重复 但是还是不能解决查询——用户包含多个用户组 获取角色

    评论

报告相同问题?

悬赏问题

  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题