如何从特定表中获取最近添加的行

时间:2010-09-27 06:54:01

标签: hibernate orm jpa

如何从某个表中获取最近添加的行,满足某个条件。

如果我使用javax / persistence / Query.html#getSingleResult(),如果有多行满足查询,我们会得到一个NonUniqueResultException。我需要从列表中等效的findOne。我不希望通过将rowsPerPage设置为1来分页,然后获取resultSet。

2 个答案:

答案 0 :(得分:2)

您表示您不想使用“rowsPerPage”,但这是一种正确的方法:

query.setMaxResults(1)

但是,除非您查询包含日期的条件,否则不能保证该行是最新的。如果您没有这样的列,并且您没有使用自动增量(这应该是最后的手段),则无法实现目标。

答案 1 :(得分:0)

jpa和hibernate要求每一行必须具有唯一的id。因此,选择id = max(id)的行。这将适用于id生成为增量的大多数情况。例如,如果id是一个字符串,则不确定如何获取它。