HQL - 查找属性x最高的实体

时间:2010-06-24 21:07:02

标签: java sql hibernate hql

HQL查询可以执行此操作吗?

“获取UserEntity,其中属性creationTimestamp是所有UserEntities中最新的”。

本质上是一个返回我们程序中“最新用户”的查询,其中每个UserEntity都有一个字段映射到我们数据库中的timestamp列。

3 个答案:

答案 0 :(得分:7)

查询最高的creationTimestamp将如下所示:

from UserEntity where creationTimestamp = max(creationTimestamp)

如果您只想返回单个实例并忽略该属性上具有相同(最高)值的其他结果,则可以使用query.uniqueResult()

有关详细信息,请参阅Chapter 14. HQL: The Hibernate Query Language

答案 1 :(得分:4)

首先列出最新用户的HQL查询是:

from UserEntities
order by creationTimestamp desc

使用setMaxResults将结果集限制为仅一个用户。

答案 2 :(得分:0)

你看过HQL order-by条款吗?