首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Hibernate用Criteria查询时应用Distinct方法去除重复数据

2012-10-07 
Hibernate用Criteria查询时使用Distinct方法去除重复数据[hibernate]Hibernate用Criteria查询时使用Distin

Hibernate用Criteria查询时使用Distinct方法去除重复数据
[hibernate]Hibernate用Criteria查询时使用Distinct方法去除重复数据 发起投票 | 删除

//片段代码

Criteria criteria = session.createCriteria(User.class);

criteria.add(Restrictions.like("name", name, MatchMode.ANYWHERE));

criteria.createAlias("perms","p");

criteria.add(Restrictions.in("p.uuid", perms));??? //join 查询,出现重复数据

criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);??? //设置ENTITY级的DISTINCT模式,根实体

criteria.list();??? //得出去除了重复数据后的结果集

//注:此方法完全正确,如果不成功请查看是否有其它类的方法把criteria.setResultTransformer设成了其它的值。

注:转载请注明原文出处!

?

为了您的安全,请只打开来源可靠的网址

打开网站????取消

来自: http://hi.baidu.com/xiaolangs/blog/item/5bc758d3307f75043af3cf31.html

<script type="text/javascript"></script>

1 楼 loverswordsman 2010-08-18   引用criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);    //设置ENTITY级的DISTINCT模式,根实体
这种方式的去重是在查询结果出来后去的,在数据库中查询语句查出来的还是会有重复的记录,在限制返回记录条数的条件查询中,还是会出现问题。

热点排行