kaka
2016-01-04 15:34:18
hibernate many-to-many ,left join fetch多查重复数据的问题
问题描述:项目中的用户和角色关系是多对多的关系,即在用户实体类中,定义了角色集合。字段设置如下:
项目中使用的查询方式如下:
当用户关联多个角色的时候,上述方法查询的结果有多条重复的数据,打印出的sql语句类似如下:
SELECT * FROM c_user u
LEFT OUTER JOIN c_group_user cgu ON u.id=cgu.userId
LEFT OUTER JOIN c_group g ON cgu.groupId=g.id
LEFT OUTER JOIN c_user_role cur ON u.id=cur.userId
LEFT OUTER JOIN c_role r ON cur.roleId=r.id
WHERE u.assetTypeId IN (42) AND u.STATUS<>4
原因就出现在 LEFT OUTER JOIN c_user_role cur ON u.id=cur.userId 这条语句上
解决办法如下:
评论
最近浏览
moridzy
2019年12月26日
暂无贡献等级
nsq0006 LV6
2019年11月8日
lj3197
2019年8月1日
暂无贡献等级
laoxu99
2019年8月1日
暂无贡献等级
effeng LV1
2019年4月3日
sycamo LV2
2019年3月1日
xiex909 LV27
2019年1月22日
择城而就12 LV7
2018年9月15日
a258771316 LV1
2018年8月8日
lj89335405 LV1
2018年7月8日