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);

)

{

//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. Atitit.log日志技术的最佳实践attilax总结

    Atitit.log日志技术的最佳实践attilax总结 1. 日志的意义与作用1 1.1. 日志系统是一种不可或缺的单元测试,跟踪调试工具1 2. 俩种实现[1]日志系统作为一种服务进程存在 [2] ...

  2. atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 。打开浏览服务器文件夹java .net php

    atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 .打开浏览服务器文件夹java .net php 1. 环境:::项目java web,需要打开浏览服 ...

  3. 开源调度框架Quartz最佳实践

    开源调度框架Quartz最佳实践 Quartz是一个Java调度框架,当前的最新版本为2.2.1. 以Quartz 2.2.1版为例,Quartz最佳实践(用于生产系统)总结如下: 1.跳过更新检查Q ...

  4. Atitit。团队建设--管理最佳实践--如何留住关键人才,防止人才外流 ??

    Atitit.团队建设--管理最佳实践--怎样留住核心人才,防止人才流失 ?? 1. 1.人才流失后果 1 1. 1.员工的离职带走商业技术秘密和客户等资源 1 2. 2.影响在职员工的情绪.极大挫伤 ...

  5. Atitit。团队建设--管理最佳实践--如何留住核心人才,防止人才流失 ??

    Atitit.团队建设--管理最佳实践--如何留住核心人才,防止人才流失 ?? 1. 1.人才流失后果 1 1. 1.员工的离职带走商业技术秘密和客户等资源 1 2. 2.影响在职员工的情绪,极大挫伤 ...

  6. atitit.压缩算法 ZLib ,gzip ,zip 最佳实践 java .net php

    atitit.压缩算法 ZLib ,gzip ,zip   最佳实践  java .net php 1. 压缩算法的归类::: 纯算法,带归档算法 1 2. zlib(适合字符串压缩) 1 3. gz ...

  7. atitit.spring3 mvc url配置最佳实践

    atitit.spring3 mvc url配置最佳实践 1. Url-pattern  bp 1 2. 通用星号url pattern的问题 1 3. Other code 1 4. 参考 2 1. ...

  8. 快速web开发中的前后端框架选型最佳实践

    这个最佳实践是我目前人在做的一个站点,主要功能: oauth登录 发布文章(我称为"片段"),片段可以自定义一些和内容有关的指标,如“文中人物:12”.支持自定义排版.插图.建立相 ...

  9. Atitit. 异常的使用总结最佳实践java .net php Vo8f

    Atitit.java 异常的使用总结最佳实践 Vo8f 1. 为什么使用异常 1 2. 用throw抛出一个异常到catch子句中与通过函数调用传递一个参数两者基本相同. 2 3. S E H的主要 ...

随机推荐

  1. [转] swf文件加密基础

    本来打算下班回来就写这个东西,一方面算是对今天学习的一个笔记记录,另外一方面,给一些朋友普及一些swf文件加密基础知识.之所以说是基础,那是因为我也是刚学习了一点,灰常的基础.不过晚上看了一会我是传奇 ...

  2. Boo who

    function boo(bool) { // What is the new fad diet for ghost developers? The Boolean. //return bool; r ...

  3. Unicode explorer

    It can be cumbersome to work out some of the details of this by hand, so you can use the little Java ...

  4. java多线程详解(6)-线程间的通信wait及notify方法

    Java多线程间的通信 本文提纲 一. 线程的几种状态 二. 线程间的相互作用 三.实例代码分析 一. 线程的几种状态 线程有四种状态,任何一个线程肯定处于这四种状态中的一种:(1). 产生(New) ...

  5. locutus(phpjs) 的使用

    今天来介绍一个js的框架,这个框架的主要功能呢,是通过加载该类库,来实现php函数的调用 当然了,这并不是说php中所有的函数都能在js中使用,但很大一部分是可以的. 环境:mac + node v5 ...

  6. ABAP BDC

    REPORT程序中用BDC录入 DATA: GS_BDC TYPE BDCDATA, GT_BDC TYPE TABLE OF BDCDATA, GS_MSG TYPE BDCMSGCOLL, GT_ ...

  7. tp 中关于大小写的问题

    ThinkPHP3.2.3升级的若干问题和注意事项(持续更新) 现把ThinkPHP3.2.2在升级到3.2.3的过程中需要注意和可能的问题整理如下: (无论如何,在升级之前请确认备份) 1.首先3. ...

  8. unreal3脚本stacktrace的问题

    在unrealscript里获取调用栈,有下面两函数: /** * Dumps the current script function stack to the log file, useful * ...

  9. 『BASH』——文件权限批量恢复脚本——「Permission Revovery」

    一.恢复指定程序包所有文件的权限: #!/bin/bash #Assume that you have mounted a correct orignal-system on /mnt read -p ...

  10. javascript 对象属性的get set访问器写法

    function Person() {     var age = new Date().getFullYear() - 18;     Object.defineProperty(this, &qu ...