彼得潘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 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制