atitit. 统计功能框架的最佳实践(1)---- on hibernate criteria
atitit. 统计功能框架的最佳实践(1)---- on hibernate criteria
1. 关键字 1
2. 统计功能框架普通有有些条件选项...一个日期选项..一个日期类型(日,周,月份,年等) 1
3. 元数据的位置,不需要绑定class 1
4. 设置聚合字段... @reduce(" sum(timLen) "),@reduce(" Avg(timLen) ") 2
5. 设置groupby 字段 @GroupBy 2
6. 设置groupbydate 字段 @GroupBydate 3
7. Where设置@condition 3
8. 实现查询 ,,不能返回class,子能list<map> 3
9. 子对象关联 @CountRelt(uiFld="groupid",fld="departId") 3
1. 关键字
Hibernate criteria 日期groupby 子对象属性groupby
2. 统计功能框架普通有有些条件选项...一个日期选项..一个日期类型(日,周,月份,年等)
作者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
3. 元数据的位置,不需要绑定class
统计的list结果是不绑定class的,,走十一个List(map>
中间,元数据放的个拉李都行了...
不过,放得个html黑头还要解释器了....使用注解实现走马中个麻烦的...林吧,还是使用注解实现兰...
4. 设置聚合字段... @reduce(" sum(timLen) "),@reduce(" Avg(timLen) ")
private Integer timLen;
5. 设置groupby 字段 @GroupBy
@GroupBy
@CountRelt(uiFld="groupid",fld="departId")
Equipment eq;
解释器实现
Criteria c = new BaseSvs().getSession().createCriteria(this.saveObjClass);
Criteria eqCri = c.createAlias("eq", "equ", JoinType.LEFT_OUTER_JOIN);
if(this.reqMap.get("groupid")!=null && this.reqMap.get("groupid").toString().trim().length()>0 )
{
//Projections.groupProperty(propertyName)
projectionList1.add( Projections.groupProperty("equ.departId").as("departId"));
projectionList1.add( Projections.groupProperty("equ.equipmentId").as("equipmentId"));
//projectionList1.add( Projections.groupProperty("equ.mome").as("mome"));
int grpid = Integer.parseInt( this.reqMap.get("groupid").toString());
eqCri.add( Restrictions.eq("equ.departId", grpid));
}
6. 设置groupbydate 字段 @GroupBydate
或者不个这个弄个自定义的fmtr比较好的.....不过这个date雅十通常使用的,,spetion弄个中个注解也行了...
解释器实现
projectionList1.add(Projections.sqlGroupProjection(" count(*) as shouldDown, count(*) as actDown, CONVERT(varchar(10), download_create_time ,23 ) as timRang ", " CONVERT(varchar(10), download_create_time ,23 ) ", new String[] { "shouldDown", "actDown", "timRang" }, new Type[] { IntegerType.INSTANCE, IntegerType.INSTANCE, StringType.INSTANCE }));
7. Where设置@condition
留意子对象属性conditon 的设置...
8. 实现查询 ,,不能返回class,子能list<map>
不官十使用criteria ,还是sql ,都子能回归mapList,,...还以为criteria能回归class了...
Criteria cri=getCriteria();
cri.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
List list=cri.list();
9. 子对象关联@CountRelt(uiFld="groupid",fld="departId")
Equipment eq;
解释器实现
setCountRelt2(list_sub);
private void setCountRelt2(List<Map> list_sub) {
// attilax 老哇的爪子 2_47_6 o9r
//List<String> CountReltFldsList=getCountReltFldsList();
for (Map map : list_sub) {
//for (String fldName : CountReltFldsList) {
//Class rltCls = getFldClass(fldName); equmnet :eq
//Field idFld = null;
//try {
//idFld = refx.getIdFld_EXO9o(rltCls);
//} catch (cantFindMatchFieldException e) {
//// attilax 老哇的爪子 10_58_h o9q
////e.printStackTrace();
//core.warn(e);
//}
Object idVal = map.get("equipmentId"); //eqid
if(idVal!=null)
{
Object rltObj = getSession().get(Equipment.class,(Integer) idVal);
map.put("eq", rltObj );
}
//}
}
}
atitit. 统计功能框架的最佳实践(1)---- on hibernate criteria相关推荐
- Oracle 12c数据库优化器统计信息收集的最佳实践
Oracle 12c数据库优化器统计信息收集的最佳实践 转载自 沃趣科技(ID:woqutech) 作者 刘金龙(译) 原文链接 http://www.oracle.com ...
- 什么是 DevSecOps?2022 年的定义、流程、框架和最佳实践
DevSecOps 是一套实用且面向目标的方法,用于确保系统安全.DevSecOps 被定义为通过与 IT 安全团队.软件开发人员和运营团队合作,在标准 DevOps 周期中建立关键安全原则的过程.以 ...
- 熔断降级与限流在开源SpringBoot/SpringCloud微服务框架的最佳实践
目录导读 熔断降级与限流在开源SpringBoot/SpringCloud微服务框架的最佳实践 1. 开源代码整体架构设计 2. 微服务逻辑架构设计 3. 微服务熔断降级与限流规划 3.1 微服务熔断 ...
- Android 路由框架ARouter最佳实践
一.功能介绍 支持直接解析标准URL进行跳转,并自动注入参数到目标页面中 支持多模块工程使用 支持添加多个拦截器,自定义拦截顺序 支持依赖注入,可单独作为依赖注入框架使用 支持InstantRun 支 ...
- 基于Confluent+Flink的实时数据分析最佳实践
简介:在实际业务使用中,需要经常实时做一些数据分析,包括实时PV和UV展示,实时销售数据,实时店铺UV以及实时推荐系统等,基于此类需求,Confluent+实时计算Flink版是一个高效的方案. 业务 ...
- [教程] Android PHP 最佳实践视频教程
这几个月实在太忙了,一直没有时间关顾博客,不过好在日前花费了不少心血的视频教程<Android+PHP最佳实践>已经在华章教育和China-Pub上线了,在这里给大家简短的推荐一下吧:本系 ...
- php抛出和捕获异常,关于php:捕获和重新抛出异常的最佳实践是什么?
应该将捕获的异常直接重新抛出,还是将它们包装在新的异常周围? 也就是说,我应该这样做: try { $connect = new CONNECT($db, $user, $password, $dri ...
- jacoco统计覆盖率最佳实践
jacoco统计覆盖率最佳实践 jacoco总结 Jacoco安装 代码覆盖率介绍 行覆盖 分支覆盖 方法覆盖 覆盖率的误区 代码覆盖率意义 覆盖率报告解析 启动jacoco agent进行插桩 ** ...
- atitit.人脸识别的应用场景and使用最佳实践 java .net php
atitit.人脸识别的应用场景and使用最佳实践 java .net php 1. 人脸识别的应用场景 1 2. 框架选型 JNI2OpenCV.dll and JavaCV 1 3. Url ap ...
- Flink SQL 1.11 新功能与最佳实践
#2020云栖大会#阿里云海量offer来啦!投简历.赢阿里云限量礼品及阿里云ACA认证免费考试资格!>>> 整理者:陈婧敏(清樾) 本文整理自 Apache Flink PMC,阿 ...
最新文章
- 前端学习(871):attachment注册事件
- php imagerotate png,php imagerotate,rotate image,rotateimage opencv
- _blank开新窗口不符合标准?
- 第 4 章 GitHub 骚操作
- 计算机硬件密码,计算机硬件技术基础综合性实验任务书(08)密码门锁的模拟_C
- vcpkg编译库位数总结
- 拯救者Y7000(2018)装黑苹果及90%驱动
- 微信小程序云函数使用方法
- 万王之王显示服务器尚未对外开放,《万王之王3》公测5月26日火爆开启 姚星彤性感代言...
- ubuntu录制屏幕及视频处理
- php 支持zip解压缩,PHP自带ZIP压缩、解压缩类ZipArchiv使用指南
- Linux:搭建GIT服务,Linux中使用git,git基础命令,和原理
- 域控制器是什么及其功能
- 2023年非证券类投资银行业研究报告
- 搜狗输入法,怎么打声调?
- 单片机加减法计算器_十进制加减法计算器单片机设计.doc
- ClickHouse查询语句详解
- 魏永征《向媒介侵权讨说法:媒介侵权法律问题》
- android的输出流和剪裁python实现以下原理
- JavaScJavaScript 函数