http://hi.baidu.com/yyflyons2008/blog/item/b4cb4fc4c8379eaf8326ac28.html
获取最大值的三种方法:
1. 使用 hql
Integer c = (Integer)dbt.getSession().createQuery("select max(o.id) from Object o " ).uniqueResult();
注意:要加上别名“o”, o.id注意大小写! 否则会出现"无法解释的属性"错误!
2. 使用native sql
sql = "select max(articleid) maxid from ljarticle";
maxId = (Integer)(session.createSQLQuery(sql).addScalar("maxId", Hibernate.INTEGER) ).uniqueResult();
注意:要加上“maxid”标量
3. 使用criteria
Integer c = (Integer)dbt.getSession().createCriteria(Article.class)
.setProjection( Projections.projectionList().add(Projections.max("ArticleId " ) ) )
.uniqueResult() ;
同样要注意ArticleId是区分大小写的!
分享到:
相关推荐
HQL支持多种聚合函数,如avg(平均值)、count(计数)、max(最大值)、min(最小值)、sum(总和)等。例如,统计Person表中的记录总数: ```java select count(*) from Person ``` ##### 4. 条件筛选(WHERE子句...
4. max(…):计算某一列的最大值 5. count(…):统计某一列的行数 四、分组函数 分组函数用于将查询结果分组,然后对每一组进行操作。HQL 中使用 group by 子句实现分组操作。 例如,select o.id, count(o) ...
- `select max(p.age) from Person as p` 查找Person类中年龄的最大值。 4. **多态查询**:HQL支持多态性,可以查询基类或子类。例如: - `from Person as p` 也可以匹配任何继承自Person的子类实例。 5. **...
- `max()`:找出最大值。 - `sum()`:计算总和。 - `avg()`:计算平均值。 示例: ```sql Query query = session.createQuery("select count(*) from Student"); Query query = session.createQuery("select avg(s....
- `maxElement()`/`maxElement`: 对于包含基本类型元素的集合,获取最大值元素。 - `elements()`: 获取集合中的所有元素。 #### 查询性能优化 - **Hibernate查询优化策略**: - 使用延迟加载避免加载不必要的...
3. `max()`用于找到某列的最大值,例如`select max(p.age) from Person as p`找出Person表中的最大年龄。 4. `sum()`用于求和,`select sum(s.age) from Student as s`计算Student表中所有学生的年龄总和。 5. `avg...
- 查询年龄的最大值:`SELECT MAX(p.age) FROM Person AS p` - 连接字符串:`SELECT p.name || "" || p.address FROM Person AS p` #### 4. 多态查询 HQL支持多态查询,即可以在父类中查询子类的数据。例如,如果...
3. `max(expression)`:返回一组值的最大值。 4. `min(expression)`:返回一组值的最小值。 5. `sum(expression)`:返回一组值的总和。 例如,`select count(o.id) from Order o`将返回Order对象的总数。 ### 分组...
HQL(Hibernate Query Language)是Hibernate框架提供的一种查询语言,它基于SQL标准,但更加强调面向对象的特点。在实际应用开发中,HQL被广泛用于数据检索、更新等操作。下面将详细介绍HQL语言中的一些常用的方法...
Hibernate Query Language(HQL)是一种面向对象的查询语言,其语法与SQL相似但并非完全相同。HQL的设计旨在更好地支持面向对象编程特性,比如继承、多态以及关联等概念。通过HQL,开发人员可以在不牺牲对象模型灵活...
HQL(Hibernate Query Language)是一种面向对象的查询语言,它允许开发者用类和属性名称来查询数据库,而不需要直接编写SQL语句。这大大简化了数据库操作的过程,并使得代码更加清晰易读。在本文中,我们将详细介绍...
子查询在HQL中允许我们嵌套查询,以获取更复杂的数据。例如,如果我们有两个表`Company`和`Employee`,且一个公司可以有多个员工,我们可以使用子查询找出每个公司中工资最高的员工。如下所示: ```sql hql: ...
这里的关键点在于使用`createQuery`方法创建了一个HQL查询对象,并通过`setString`方法设置参数值,最后通过`list`方法执行查询并获取结果列表。 #### 三、分页查询 分页查询在处理大量数据时非常有用,可以有效地...
原生SQL查询也可以返回单一的标量值或标量与实体的组合。例如,计算最大体重: ```java Double maxWeight = (Double) sess.createSQLQuery("select max(cat.weight) as maxWeight from cats cat") .addScalar(...
1. **Hibernate的数学函数**:如`max()`, `min()`, `sum()`, `avg()`和`count()`,它们用于对数据进行聚合操作,例如找出最大值、最小值、总和或平均值。 2. **字符串函数**:如`concat()`, `lower()`, `upper()`和...
3. `max()`:求最大值。查询`customer`表中客户的最大年龄: ```java object[] i = (Integer) session.createQuery("select max(c.age),min(c.age) from customer c ").uniqueResult(); Integer Maxage = ...
- `select max(p.age) from Person as p`:获取`Person`的最大年龄。 4. **多态查询**: - HQL支持多态性查询,可以查询基类或接口,如`from Person as p`或`from Named as n`,这将包括所有继承自`Person`或实现...
命名SQL查询在映射文档中定义,可以直接像调用HQL查询一样调用。这种方式不需要使用addEntity(),因为映射信息已经预先定义。 总结来说,Hibernate的SQLQuery接口提供了丰富的功能,支持本地SQL查询,处理字段冲突...
分组查询时,可以使用GROUP BY语句,同时,可以配合聚合函数使用,如COUNT(*)计算行数,MAX()获取最大值等。 知识点六:附加资源 文档推荐了几个附加资源,包括Hive官方语言手册、Hortonworks沙盒环境以及...
例如,`count(*)`用于计算记录数量,`avg()`计算平均值,`min()`和`max()`分别用于找出最小值和最大值,`sum()`用于求和。例如,`select count(*) from Student`可以获取`Student`类的实例数量,而`select avg(s.age...