Hibernate中left join fetch 查询出现重复的对象

Hibernate中一对多~Line是1,Sign是N我使用createQuery("fromLinelleftjoinfetchl.signs").list()来进行外... Hibernate中一对多~Line是1,Sign是N

我使用createQuery("from Line l left join fetch l.signs").list()来进行外连接查询,出现重复的对象,查看Hibernate官方文档发现是fetch的操作是基于结果集的操作,提供另外的方法但是对分页又产生影响,又自己尝试写了去重复的类,还是不能那个解决分页问题。请问有什么思路可以解决此类外连接问题?

如图:两个Line对象中所有的属性都一样且拥有一样的Set<Sign>
谢了~这个真的可以!
再问下如果我用Criteria criteria = session.createCriteria(Line.class)的方式去criteria.createAlias("signs", "s", Criteria.LEFT_JOIN);这个样子怎么来消除重复记录呢,不想用DISTINCT_ROOT_ENTITY。。。
谢谢啦!
展开
 我来答
chengwei1104
2012-09-04 · TA获得超过619个赞
知道小有建树答主
回答量:558
采纳率:0%
帮助的人:373万
展开全部
你改成 createQuery("select distinct l from Line l left join fetch l.signs").list()就可以了嘛
追问
谢了~这个真的可以!
再问下如果我用Criteria criteria = session.createCriteria(Line.class)的方式去criteria.createAlias("signs", "s", Criteria.LEFT_JOIN);这个样子怎么来消除重复记录呢,不想用DISTINCT_ROOT_ENTITY。。。
谢谢啦!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式