huangnac 2009-10-17 17:00
浏览 223
已采纳

请问这样的查询怎样用HQL语法来写!

如题:
select u from User u left join u.roleList r where r.id=?
这个HQL能通过角色ID查询出拥有这个角色的User列表。
如果我换成select u from User u left join u.roleList r where r.id<>?这个HQL语句
按我的理解是能够查询出没有拥有这个角色的User列表。这个结果是正确的。
但是这个语句执行的前提是在user对象拥有角色的情况下,却不能查询出user对象没有拥有角色(也就是roleList为空的情况)的user列表。
请问各位大侠我该如何修改这个HQL语句,使用Criteria的方式也是如此。

请帮忙解决一下,万分感谢,谢谢。

  • 写回答

1条回答 默认 最新

  • CaiHuajiang 2009-10-17 17:29
    关注

    select u from User u left join u.roleList r where r.id<>? or r.id is empty

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?