Hibernate中left join fetch 查询出现重复的对象
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。。。
谢谢啦!
答案:你改成 createQuery("select distinct l from Line l left join fetch l.signs").list()就可以了嘛
上一个:java能自学好吗?怎样规划学习步骤呢?
下一个:用eclipse运行出来的程序,用dos却出错。 java新手。 没用eclipse之前,是用记事本写的程序代码。