去除left join fetch中的多余记录
2006-10-14 09:45
399 查看
Class 和Student 存在一对多关系,如果class表中id为1的记录有1条,student表中对应class id为1的记录有2条,如下执行hql
select class from Class as class left join fetch Class.Student where class.Id=1
我们希望得到的是 一条class记录,其中包含2条student子记录,但是hql返回的list中却是有2条这样的记录
改变hql
select distinc class from Class as class left join fetch Class.Student where class.Id=1
返回的结果还是那样,这里只是在生成sql的时候加上了distinct,
我们可以通过将结果集放到一个set中,利用set的性质来去除多余记录
Set classSet = new LinkedHashSet(list);//这里list是hql返回的结果
list.clear();
list.addAll(classSet);
return list;
select class from Class as class left join fetch Class.Student where class.Id=1
我们希望得到的是 一条class记录,其中包含2条student子记录,但是hql返回的list中却是有2条这样的记录
改变hql
select distinc class from Class as class left join fetch Class.Student where class.Id=1
返回的结果还是那样,这里只是在生成sql的时候加上了distinct,
我们可以通过将结果集放到一个set中,利用set的性质来去除多余记录
Set classSet = new LinkedHashSet(list);//这里list是hql返回的结果
list.clear();
list.addAll(classSet);
return list;
相关文章推荐
- left join fetch 用法实例记录
- hibernate 中left join 与left join fetch ,right join与right join fetch 等的区别
- SQL语句使用Left Outer join代替In删除多条记录
- 怎么去除table多余出来的行,我的table里面只显示一条记录,但是下面出现很多空白的行,要怎么去掉
- 关于hibernate中的延迟加载和left join fetch
- hibernate 的left join fetch可以取出lazy对象
- awk实现Left、join查询、去除重复值以及局部变量讲解例子
- Hive0.14在left outer join多级连接中,执行计划生成BUG记录
- ORACLE 去除多余的重复记录语句
- left join fetch
- 简述hibernate left join fetch的作用
- left join 和 left outer join 的区别 通俗的讲: A left join B 的连接的记录数与A表的记录数同 A right jo
- 联表查询、去除重复值、查找表中多余的重复记录、查找表中没有重复记录的行
- awk实现Left、join查询、去除重复值以及局部变量讲解例子
- mysql left outer join fetch取出数据重复
- 去除HQL语句中的Join fetch部分字符串
- Hibernate逍遥游记-第7章 Hibernate的检索策略和检索方式(<set lazy="false" fetch="join">、left join fetch、FetchMode.JOIN、)
- 简单记录mysql left join,right join,inner join用法
- 性能调优:mysql之left join
- iOS--tableView中的多余的线的去除方法