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日