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相关推荐

  1. Oracle 12c数据库优化器统计信息收集的最佳实践

    Oracle 12c数据库优化器统计信息收集的最佳实践 转载自     沃趣科技(ID:woqutech) 作者         刘金龙(译) 原文链接   http://www.oracle.com ...

  2. 什么是 DevSecOps?2022 年的定义、流程、框架和最佳实践

    DevSecOps 是一套实用且面向目标的方法,用于确保系统安全.DevSecOps 被定义为通过与 IT 安全团队.软件开发人员和运营团队合作,在标准 DevOps 周期中建立关键安全原则的过程.以 ...

  3. 熔断降级与限流在开源SpringBoot/SpringCloud微服务框架的最佳实践

    目录导读 熔断降级与限流在开源SpringBoot/SpringCloud微服务框架的最佳实践 1. 开源代码整体架构设计 2. 微服务逻辑架构设计 3. 微服务熔断降级与限流规划 3.1 微服务熔断 ...

  4. Android 路由框架ARouter最佳实践

    一.功能介绍 支持直接解析标准URL进行跳转,并自动注入参数到目标页面中 支持多模块工程使用 支持添加多个拦截器,自定义拦截顺序 支持依赖注入,可单独作为依赖注入框架使用 支持InstantRun 支 ...

  5. 基于Confluent+Flink的实时数据分析最佳实践

    简介:在实际业务使用中,需要经常实时做一些数据分析,包括实时PV和UV展示,实时销售数据,实时店铺UV以及实时推荐系统等,基于此类需求,Confluent+实时计算Flink版是一个高效的方案. 业务 ...

  6. [教程] Android PHP 最佳实践视频教程

    这几个月实在太忙了,一直没有时间关顾博客,不过好在日前花费了不少心血的视频教程<Android+PHP最佳实践>已经在华章教育和China-Pub上线了,在这里给大家简短的推荐一下吧:本系 ...

  7. php抛出和捕获异常,关于php:捕获和重新抛出异常的最佳实践是什么?

    应该将捕获的异常直接重新抛出,还是将它们包装在新的异常周围? 也就是说,我应该这样做: try { $connect = new CONNECT($db, $user, $password, $dri ...

  8. jacoco统计覆盖率最佳实践

    jacoco统计覆盖率最佳实践 jacoco总结 Jacoco安装 代码覆盖率介绍 行覆盖 分支覆盖 方法覆盖 覆盖率的误区 代码覆盖率意义 覆盖率报告解析 启动jacoco agent进行插桩 ** ...

  9. atitit.人脸识别的应用场景and使用最佳实践 java .net php

    atitit.人脸识别的应用场景and使用最佳实践 java .net php 1. 人脸识别的应用场景 1 2. 框架选型 JNI2OpenCV.dll and JavaCV 1 3. Url ap ...

  10. Flink SQL 1.11 新功能与最佳实践

    #2020云栖大会#阿里云海量offer来啦!投简历.赢阿里云限量礼品及阿里云ACA认证免费考试资格!>>> 整理者:陈婧敏(清樾) 本文整理自 Apache Flink PMC,阿 ...

最新文章

  1. 前端学习(871):attachment注册事件
  2. php imagerotate png,php imagerotate,rotate image,rotateimage opencv
  3. _blank开新窗口不符合标准?
  4. 第 4 章 GitHub 骚操作
  5. 计算机硬件密码,计算机硬件技术基础综合性实验任务书(08)密码门锁的模拟_C
  6. vcpkg编译库位数总结
  7. 拯救者Y7000(2018)装黑苹果及90%驱动
  8. 微信小程序云函数使用方法
  9. 万王之王显示服务器尚未对外开放,《万王之王3》公测5月26日火爆开启 姚星彤性感代言...
  10. ubuntu录制屏幕及视频处理
  11. php 支持zip解压缩,PHP自带ZIP压缩、解压缩类ZipArchiv使用指南
  12. Linux:搭建GIT服务,Linux中使用git,git基础命令,和原理
  13. 域控制器是什么及其功能
  14. 2023年非证券类投资银行业研究报告
  15. 搜狗输入法,怎么打声调?
  16. 单片机加减法计算器_十进制加减法计算器单片机设计.doc
  17. ClickHouse查询语句详解
  18. 魏永征《向媒介侵权讨说法:媒介侵权法律问题》
  19. android的输出流和剪裁python实现以下原理
  20. JavaScJavaScript 函数

热门文章

  1. Ubuntu修改open files数
  2. Intellij IDEA 12 详细开发教程(三)忽略编译错误设置和快捷键
  3. MYSQL的简单命令
  4. 在CentOS6.0 上安装LAMP
  5. 设计模式-第七篇之门面模式
  6. 数据结构专题:树链剖分
  7. Prometheus Operator 架构 - 每天5分钟玩转 Docker 容器技术(178)
  8. 2017年2月14日
  9. Request 对象
  10. python入门安装