paramMap.put("submitDateYear", paramMap.get("submitDateYear") + "%"); StringBuffer hql = new StringBuffer(); hql.append(" select new TempDeptRectPatrol" + "(" + " t.submitDate," + " sum(t.findProblem1)," + " sum(t.rectProblem1)," + " sum(t.findProblem2)," + " sum(t.rectProblem2)," + " sum(t.findProblem3)," + " sum(t.rectProblem3)," + " sum(t.findProblem4)," + " sum(t.rectProblem4)," + " sum(t.findProblem5)," + " sum(t.rectProblem5)," + " sum(t.findProblem6)," + " sum(t.rectProblem6)," + " sum(t.findProblem7)," + " sum(t.rectProblem7)," + " sum(t.findProblem8)," + " sum(t.rectProblem8)," + " sum(t.findProblem9)," + " sum(t.rectProblem9)," + " sum(t.findProblem10)," + " sum(t.rectProblem10)" + ")"); hql.append(" from TempDeptRectPatrol t"); hql.append(" where 1 = 1 "); hql.append(" and t.submitDate like :submitDateYear"); hql.append(" group by submitDate");
关键在于,要在实体 TempDeptRectPatrol 写一个构造函数 如下:
public TempDeptRectPatrol(String _submitDate,Long _findProblem1,Long _rectProblem1,Long _findProblem2,Long _rectProblem2,Long _findProblem3,Long _rectProblem3 ,Long _findProblem4,Long _rectProblem4,Long _findProblem5,Long _rectProblem5,Long _findProblem6,Long _rectProblem6,Long _findProblem7,Long _rectProblem7 ,Long _findProblem8,Long _rectProblem8,Long _findProblem9,Long _rectProblem9,Long _findProblem10,Long _rectProblem10){ this.submitDate = _submitDate; this.findProblem1 = _findProblem1; this.rectProblem1 = _rectProblem1; this.findProblem2 = _findProblem2; this.rectProblem2 = _rectProblem2; this.findProblem3 = _findProblem3; this.rectProblem3 = _rectProblem3; this.findProblem4 = _findProblem4; this.rectProblem4 = _rectProblem4; this.findProblem5 = _findProblem5; this.rectProblem5 = _rectProblem5; this.findProblem6 = _findProblem6; this.rectProblem6 = _rectProblem6; this.findProblem7 = _findProblem7; this.rectProblem7 = _rectProblem7; this.findProblem8 = _findProblem8; this.rectProblem8 = _rectProblem8; this.findProblem9 = _findProblem9; this.rectProblem9 = _rectProblem9; this.findProblem10 = _findProblem10; this.rectProblem10 = _rectProblem10; }
相关推荐
`MethodDescriptor` 和 `ConstructorDescriptor` 分别描述了一个方法和构造函数的所有元数据信息,包括其约束信息。 ##### 9.4 ElementDescriptor `ElementDescriptor` 描述了一个集合或数组元素的所有元数据信息...
- **方案二**:为每个表的Bean定义构造函数,根据查询需求提供特定的参数,使得HQL可以直接生成所需的Bean实例。 3. Hibernate对象状态: Hibernate中的对象有三种状态: - **瞬时态(Transient)**:对象在内存中...
4. **持久化对象(POJOs)**:解释持久化对象的概念,以及如何创建和使用简单的POJOs,包括属性、构造函数、getter/setter方法等。 5. **会话与事务管理**:详述Session接口的使用,如保存、更新、删除和查询对象,...
3. 实体与映射:详细阐述了实体类的设计,包括属性、构造函数、getter/setter方法等。同时,重点讨论了Hibernate的映射文件(.hbm.xml),用于定义实体类与数据库表之间的对应关系,如字段映射、主键生成策略等。 4...
它可以创建更复杂的条件,如OR、AND、IN等,以及比较、函数调用等。Criteria Builder让编写动态查询变得容易,尤其是在处理参数化查询时。 在“onetomany”这个文件名中,我们可以推测这是一个关于一对多关联的例子...
- **其他构造**:包括聚合函数、表达式、排序子句、分组子句、多态选择以及子查询。 ### 4. HQL与SQL的区别 - **面向对象**:HQL完全面向对象,能够处理继承、多态和关联等概念。 - **大小写敏感性**:HQL对查询...
4.1.1. 实现一个默认的(即无参数的)构造方法(constructor) 4.1.2. 提供一个标识属性(identifier property)(可选) 4.1.3. 使用非final的类 (可选) 4.1.4. 为持久化字段声明访问器(accessors)和是否可变的...
10. **使用约束元数据**:解释了如何利用Bean、属性、方法、构造函数、元素、容器、组转换和约束描述符等元数据进行验证。 11. **与其他框架集成**:这部分详细列出了Hibernate Validator与ORM、JSF & Seam、CDI、...
本资料主要涵盖了Hibernate HQL查询的基本概念、语法以及实际应用。 1. **HQL概述** - HQL是Hibernate提供的面向对象的查询语言,与SQL类似,但更加面向对象,将数据库表映射为Java类,表中的行映射为类的对象。 ...
5. **分组(GroupBy)和聚合函数(Projections)** Criteria API也支持分组和聚合操作。通过调用setGroupBy()方法进行分组,使用Projections类的聚合函数,如count(), max(), min()等。 6. **关联查询(Joins)** ...
4.1.1. 实现一个默认的(即无参数的)构造方法(constructor) 4.1.2. 提供一个标识属性(identifier property)(可选) 4.1.3. 使用非final的类 (可选) 4.1.4. 为持久化字段声明访问器(accessors)和是否可变的...
在处理返回结果时,如果希望直接将查询结果转换为实体类对象,可以使用构造函数来指定返回的对象类型。例如,`select new 包名.类名(属性1,属性2……) from 实体类`,这需要在实体类中添加对应的带参构造方法,参数...
为了提高可读性和操作性,可以使用构造函数将查询结果封装成新的对象,如`select new Student(s.name, s.sex) from Student s`,但需要确保目标类有相应的构造函数来接收这些参数。 在HQL中,我们还可以使用统计...
4.1.1. 实现一个默认的(即无参数的)构造方法(constructor) 4.1.2. 提供一个标识属性(identifier property)(可选) 4.1.3. 使用非final的类 (可选) 4.1.4. 为持久化字段声明访问器(accessors)和是否可变的...
它可以方便地执行复杂的查询,包括连接多个表、使用分组和聚合函数等。 7. **Criteria查询**: - Criteria API提供了一种更面向对象的方式来构建动态查询,无需编写HQL。它允许根据条件构建查询,并支持排序、分页...
4.1.1. 实现一个默认的(即无参数的)构造方法(constructor) 4.1.2. 提供一个标识属性(identifier property)(可选) 4.1.3. 使用非final的类 (可选) 4.1.4. 为持久化字段声明访问器(accessors)和是否可变的...
4.1.1. 实现一个默认的(即无参数的)构造方法(constructor) 4.1.2. 提供一个标识属性(identifier property)(可选) 4.1.3. 使用非final的类 (可选) 4.1.4. 为持久化字段声明访问器(accessors)和是否可变的...
它可以方便地进行聚合函数计算、分组、排序以及关联查询。 七、Criteria API Criteria API是Hibernate提供的另一种查询方式,它提供了一种更面向对象的查询模型,允许在运行时动态构造查询。 八、性能优化 为了...
1. `hibernate_2500_QL_2`:可能包含关于HQL的进阶查询示例,如联接查询、子查询、分组与排序等。 2. `hibernate_2400_QL_1`:可能是HQL基础查询的讲解,包括简单的单表查询和条件查询。 3. `hibernate_2700_QBE`:...
4.1.2. 实现一个默认的(即无参数的)构造方法(constructor) 4.1.3. 提供一个标识属性(identifier property)(可选) 4.1.4. 使用非final的类 (可选) 4.2. 实现继承(Inheritance) 4.3. 实现equals()和...