QBC的distinct查询
- 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查询相关推荐
- QBC和QBE查询方法
http://student.csdn.net/space.php?uid=117956&do=blog&id=25789 1: QBE (Query By Example) C ...
- Hibernate的HQL、QBC、QBE查询总结
一.HQL查询 HQL的应用最为广泛,是最为常用的,跟SQL语句差不多,区别是: SQL基于表和字段查询,HQL基于类对象和属性查询 HQL的功能大概有: 属性查询.分组查询.动态实例查询(比较具备特 ...
- hibernate QBC检索方式查询
Hibernate提供了一套符合Java编程习惯的API,即QBC(Query By Creteria)检索方式, 主要邮Criteria接口,Criterion接口和Expression类组成.优点 ...
- mysql中having的例子_mysqlgroupby/having/distinct查询使用例子_MySQL
表的内容如下: //查询单分数最高的人ID select stuid,max(score) from stu_select_class; // 查询各科总分2-3名的学生 select stuid, ...
- MongoDB 去重(distinct)查询后求总数(count)
在使用MonoDB 做报表汇总经常的有去重统计总数的需求,在此总结一下实现方式: 1, 直接使用distinct 语句查询, 这种查询会将所有查询出来的数据返回给用户, 然后对查询出来的结果集求总数( ...
- mysql中distinct删除_MySQL distinct查询返回具有重复信息的行,需要重复数据删除
我有一个类似于MySQL数据库中下面显示的表格: +----------+----------+----------+----------+----------+ | Column_A | Colum ...
- QBC 通过Heibernate查询 discriminator 配置的属性问题
在通过QBC查询discriminator配置的属性otype时,Heibernate 无法解析otype属性. Heibernate 实体类映射.xml源码 <hibernate-mappin ...
- Hibernate的几种查询方式 HQL,QBC,QBE,离线查询,复合查询,分页查询
HQL查询方式 这一种我最常用,也是最喜欢用的,因为它写起来灵活直观,而且与所熟悉的SQL的语法差不太多.条件查询.分页查询.连接查询.嵌套查询,写起来与SQL语法基本一致,唯一不同的就是把表名换成了 ...
- distinct 查询报错
最近做一个项目时,因为一个小问题卡了半天,在使用distinct关键字查询mysql时报错: select zaolin_user_tree.id, distinct zaolin_user_tree ...
最新文章
- JVM 内存初学 (堆(heap)、栈(stack)和方法区(method) )(转发)
- 常用算法 之二 牛顿迭代法求解PT100温度(高阶方程求解)
- _Ansible批量管理与维护
- Oracle分析函数-keep(dense_rank first/last)
- 在树莓派是安装并配置NTP服务
- react和nodejs_如何使用NodeJS和React为SaaS构建Stripe Billing入门流程
- 先发不一定制人:美韩5G网络体验差遭吐槽
- VRTK之手柄事件监听以及重写StartUsing方法实现与物体的交互
- 域内,如何限制一台电脑只能指定的域用户登录
- sublime注释乱码c语言,ConvertToUTF8:解决 Sublime Text的乱码问题
- 树状排序(目录结构)
- Linux内核入门(七)—— 必要的编译知识
- Atitit. 。Jna技术与 解决 java.lang.Error: Invalid memory access
- HDU2516 取石子游戏
- 如何快速提取手机微信数据?
- Power BI Desktop 中的数据源
- html鼠标悬停多个效果,33个jQuery与CSS3实现的绚丽鼠标悬停效果
- Excel复制粘贴出现复制区域与粘贴区域形状不同问题的解决办法
- 《Clojure Web开发实战》——第2章,第2.3节应用架构
- WFP之关联上下文数据以及注意事项