1. 1. 分页中有重复记录统计总的条数
  • int total = ((Integer)criteria.setProjection(Projections.countDistinct("id")).uniqueResult()).intValue();

执行后的语句 select count(distcint id) from  table;

  • 没有重复记录的时候

int total = ((Integer)criteria.setProjection(Projections.rowCount()).uniqueResult()).intValue();

执行后的语句 select count(*) from  table;

2.  查询结果除掉重复的记录

  • 第一种是数据库的distinct

ProjectionList projectionList = Projections.projectionList(); 
          projectionList.add(Projections.property("id")); 
          projectionList.add(Projections.property("name"));  
          criteria.setProjection(Projections.distinct(projectionList));

执行的sql语句   SQL: select distinct id, name from table;

criteria.setProjection(Projections.distinct(Projections.property("id")));

执行的sql语句   SQL: select distinct id from table;

  • 第二种是在结果集中通过hibernate去重,对大量数据效率太低,如果是分页查询还是不能用这种的,因为它是查询后的出重。

criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);

3.Criteria的结果集

Criteria的结果集最常用分两种:对象List、List<Object[]>(投影查询)


转载地址:http://blog.csdn.net/yalove/article/details/6628214

转载于:https://blog.51cto.com/wanqiufeng/630096

QBC的distinct查询相关推荐

  1. QBC和QBE查询方法

    http://student.csdn.net/space.php?uid=117956&do=blog&id=25789 1: QBE (Query By Example)    C ...

  2. Hibernate的HQL、QBC、QBE查询总结

    一.HQL查询 HQL的应用最为广泛,是最为常用的,跟SQL语句差不多,区别是: SQL基于表和字段查询,HQL基于类对象和属性查询 HQL的功能大概有: 属性查询.分组查询.动态实例查询(比较具备特 ...

  3. hibernate QBC检索方式查询

    Hibernate提供了一套符合Java编程习惯的API,即QBC(Query By Creteria)检索方式, 主要邮Criteria接口,Criterion接口和Expression类组成.优点 ...

  4. mysql中having的例子_mysqlgroupby/having/distinct查询使用例子_MySQL

    表的内容如下: //查询单分数最高的人ID select stuid,max(score) from stu_select_class; // 查询各科总分2-3名的学生 select stuid, ...

  5. MongoDB 去重(distinct)查询后求总数(count)

    在使用MonoDB 做报表汇总经常的有去重统计总数的需求,在此总结一下实现方式: 1, 直接使用distinct 语句查询, 这种查询会将所有查询出来的数据返回给用户, 然后对查询出来的结果集求总数( ...

  6. mysql中distinct删除_MySQL distinct查询返回具有重复信息的行,需要重复数据删除

    我有一个类似于MySQL数据库中下面显示的表格: +----------+----------+----------+----------+----------+ | Column_A | Colum ...

  7. QBC 通过Heibernate查询 discriminator 配置的属性问题

    在通过QBC查询discriminator配置的属性otype时,Heibernate 无法解析otype属性. Heibernate 实体类映射.xml源码 <hibernate-mappin ...

  8. Hibernate的几种查询方式 HQL,QBC,QBE,离线查询,复合查询,分页查询

    HQL查询方式 这一种我最常用,也是最喜欢用的,因为它写起来灵活直观,而且与所熟悉的SQL的语法差不太多.条件查询.分页查询.连接查询.嵌套查询,写起来与SQL语法基本一致,唯一不同的就是把表名换成了 ...

  9. distinct 查询报错

    最近做一个项目时,因为一个小问题卡了半天,在使用distinct关键字查询mysql时报错: select zaolin_user_tree.id, distinct zaolin_user_tree ...

最新文章

  1. JVM 内存初学 (堆(heap)、栈(stack)和方法区(method) )(转发)
  2. 常用算法 之二 牛顿迭代法求解PT100温度(高阶方程求解)
  3. _Ansible批量管理与维护
  4. Oracle分析函数-keep(dense_rank first/last)
  5. 在树莓派是安装并配置NTP服务
  6. react和nodejs_如何使用NodeJS和React为SaaS构建Stripe Billing入门流程
  7. 先发不一定制人:美韩5G网络体验差遭吐槽
  8. VRTK之手柄事件监听以及重写StartUsing方法实现与物体的交互
  9. 域内,如何限制一台电脑只能指定的域用户登录
  10. sublime注释乱码c语言,ConvertToUTF8:解决 Sublime Text的乱码问题
  11. 树状排序(目录结构)
  12. Linux内核入门(七)—— 必要的编译知识
  13. Atitit. 。Jna技术与 解决 java.lang.Error: Invalid memory access
  14. HDU2516 取石子游戏
  15. 如何快速提取手机微信数据?
  16. Power BI Desktop 中的数据源
  17. html鼠标悬停多个效果,33个jQuery与CSS3实现的绚丽鼠标悬停效果
  18. Excel复制粘贴出现复制区域与粘贴区域形状不同问题的解决办法
  19. 《Clojure Web开发实战》——第2章,第2.3节应用架构
  20. WFP之关联上下文数据以及注意事项

热门文章

  1. 微软1月补丁星期二值得关注的蠕虫及其它
  2. 惠普:某些 SSD 驱动的寿命只有32,768 小时(3年多),立即更新!
  3. 三次元的世界里,机械臂的手活儿也无敌了
  4. 入行数据科学,仅需6步
  5. 如何获得select被选中option的value和text和......
  6. orocod_kdl学习(一):坐标系变换
  7. solr的suggest模块
  8. eclipse 安装egit插件
  9. hdu 4640 Island and study-sister(状态压缩dp)
  10. 酷盘API C# 测试版