【发布时间】:2016-10-18 04:16:38
【问题描述】:
休眠版本:5.2
我正在尝试使用子查询来做,并使用 setMaxResults(int)。
session.createQuery(
"FROM ( SELECT * FROM tickets ORDER BY id DESC limit 3) sub ORDER BY id ASC"
);
但是,HQL 子查询只能出现在 select 或 where 子句中,并且在 hibernate 中不能使用 limit。
我怎样才能在休眠状态下做到这一点?
更新 - 明确说明
例如,从 id=1 到 id=10 有 10 个数据条目。
我想通过仅一个查询 + 不做进一步的数据处理,以id的升序选择最后3个数据。
db 的结果是 id=8 到 id=10
谢谢。
【问题讨论】:
-
感谢您的回复。那篇文章只是得到最后 n 行,但不是按 id 的升序排列。而且我不想要两个查询然后混合它。我想要一个查询从数据库中获取数据而不处理数据。
标签: java hibernate hql hibernate-5.x