休眠版本: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
谢谢。
假设你有 id1
to 10
你想要最后一个N=3
.
采取了你的方法
SELECT * FROM tickets ORDER BY id DESC
将按顺序返回 id10
to 1
。然后你想得到最后一个N=3
按升序排列。这意味着你想要 id3
to 1
按升序排列。
选择第一个会有什么问题N
id 按升序排列?
session.createQuery(
"FROM tickets ORDER BY id ASC"
).setMaxResults(n);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)