DetachedCriteria怎样应用group by substr(area,0,3)

问题描述

东城+崇文=东城,西城+宣武=西城,进行数据合并,不让改动原数据,所以只能改动程序原数据库:东城101,西城102,崇文103,宣武104....现数据库:东城101,西城102,崇文1013,宣武1024.....修改程序时去area的前3位group by,显示和统计下面的sql应该没问题select substr(this_.AREA,0,3) as y0_, this_.WORKTYPE as y1_, count(*) as y2_ from WINE.TBL_ARCHIVE this_ group by substr(this_.AREA,0,3), this_.WORKTYPEoracle的sql语句没问题,hibernate中原来的代码,下面的代码怎样修改DetachedCriteria detachedCriteria = DetachedCriteria.forClass(TblArchive.class);.....ProjectionList projectionList1 = Projections.projectionList();projectionList1.add(Projections.groupProperty("area"));projectionList1.add(Projections.groupProperty("worktype"));projectionList1.add(Projections.rowCount());detachedCriteria.setProjection(projectionList1);问题是在hibernate 中怎么应用??哪位帮下,谢了。 问题补充:东城+崇文=东城,西城+宣武=西城,进行数据合并,不让改动原数据,所以只能改动程序原数据库:东城101,西城102,崇文103,宣武104....现数据库:东城101,西城102,崇文1013,宣武1024.....修改程序时去area的前3位group by,显示和统计下面的sql应该没问题select substr(this_.AREA,0,3) as y0_, this_.WORKTYPE as y1_, count(*) as y2_ from WINE.TBL_ARCHIVE this_ group by substr(this_.AREA,0,3), this_.WORKTYPEoracle的sql语句没问题,hibernate中原来的代码,下面的代码怎样修改DetachedCriteria detachedCriteria = DetachedCriteria.forClass(TblArchive.class);.....ProjectionList projectionList1 = Projections.projectionList();projectionList1.add(Projections.groupProperty("area"));projectionList1.add(Projections.groupProperty("worktype"));projectionList1.add(Projections.rowCount());detachedCriteria.setProjection(projectionList1);问题是在hibernate 中怎么应用??哪位帮下,谢了。

解决方案

projectionList1.add(Projections.sqlGroupProjection("substr(area,0,3)", "substr(area,0,3)", null, null));
解决方案二:
引用您好,在问您一个问题,这个怎么解决列名无效的问题。首先你要用sqlGroupProjection,其实这里面写的要是数据库中的列名,不是实体的属性名。

时间: 2024-10-22 08:31:06

DetachedCriteria怎样应用group by substr(area,0,3)的相关文章

MySQL · 捉虫动态 · ORDER/GROUP BY 导致 mysqld crash

问题描述 表结构如下所示: show create table test\G Table: test Create Table: CREATE TABLE `test` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `id2` varchar(50) DEFAULT NULL `id3` varchar(100) DEFAULT NULL `some_text` varchar(200) DEFAULT NULL `name` varchar(

使用PHP 5.0 轻松解析XML文档(2)

xml 文件:SimpleDocumentParser.php <?php/** *========================================================= * * @author hahawen(大龄青年) * @since 2004-12-04 * @copyright Copyright (c) 2004, NxCoder Group * *======================================================

使用PHP 5.0 轻松解析XML文档

用sax方式的时候,要自己构建3个函数,而且要直接用这三的函数来返回数据, 要求较强的逻辑. 在处理不同结构的XML的时候, 还要重新进行构造这三个函数,麻烦! 用dom方式,倒是好些,但是他把每个节点都看作是一个node,操作起来要写好多的代码, 麻烦! 网上有好多的开源的xml解析的类库, 以前看过几个,但是心里总是觉得不踏实,感觉总是跟在别人的屁股后面. 这几天在搞Java, 挺累的,所以决定换换脑袋,写点PHP代码,为了防止以后xml解析过程再令我犯难,就花了一天的时间写了下面一个xml

oracle数据库oracleasm createdisk重新创建asm disk后数据0丢失恢复案例

有客户反馈他们重启系统之后,发现asmlib创建的asmdisk丢失了,然后又使用oracleasm deletedisk和createdisk重新创建的asm disk,最后发现asm diskgroup无法mount.让客户通过dd 备份5m数据,然后使用kfed分析 kefd分析结果 E:\OneDrive\ORACLE\recover\no_backup\asm\kfedwin>kfed read H:\temp\asmlib\xx.img kfbh.endian:           

oracle 数据同比遇到数据为0的情况怎么处理

问题描述 oracle 数据同比遇到数据为0的情况怎么处理 最近需要做一个统计数据的报表,然后遇到了当数据为0的时候怎么进行数据同比 一直提示除数为0,我的sql粘贴如下,在线等答案~ select a.*, nvl(round(a.cr/lag(a.cr) over(partition by month order by a.stat_date)*100,2)-100,'0')||'%' hb from ( select t.stat_date, substr(t.stat_date,0,4)

php去掉字符串的最后一个字符substr()的用法

今天项目中用到,去掉字符串中的最后一个字符 原字符串1,2,3,4,5,6, 去掉最后一个字符",",最终结果为1,2,3,4,5,6 代码如下: 复制代码 代码如下: $str = "1,2,3,4,5,6,"; $newstr = substr($str,0,strlen($str)-1); echo $newstr; 系统自带的函数也可实现这样的效果,两种方法: 1) substr($str, 0, -1) 2)rtrim($str, ","

PHP 5.0 中的对象重载技术研究

一.简介 很幸运,PHP 5.0中引入了对象重载技术.本文将探讨对于方法__call(),__set()以及__get()进行重载的可能性.在对重载理论作简单介绍后,我们将通过两个例子直奔主题:第一例,实现持续存储类:第二例,找到一种实现动态的getter/setter的方法. 二.什么是对象重载? 在PHP中谈到对象重载时,我们要区别两种类型: ·方法重载 ·属性重载 在方法重载的情况下,我们要定义一个魔术般的方法__call(),它将实现一个在相应类中对未定义方法的笼统调用.只有当你想存取类

ospf虚链路之不连续的区域0

一.拓扑 二.配置 1. 按照上图所示配置IP地址以及通告网络 邻居都可以正常建立,但在R2上看路由 R2#show ip route Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external

SQL函数substr使用简介

  文章是介绍了sql中的substr()字符串截取函数的用法,十分的简单实用,有需要的同学可以参考一下. substr(string ,1,3) 函数解读:取string 中重左往右取3字长的字符串. 结果为:str 从右往左呢? 应该有另一个函数来提供这样的功能吧! 事实上,从右往左也是这个函数 只是参数的不同而已. substr(String,-1,3) 功能解读:取string中右边1位开始取3位. 结果为:g substr(string,start,length) string - 指