如何从某个表中获取最近添加的行,满足某个条件。
如果我使用javax / persistence / Query.html#getSingleResult(),如果有多行满足查询,我们会得到一个NonUniqueResultException。我需要从列表中等效的findOne。我不希望通过将rowsPerPage设置为1来分页,然后获取resultSet。
答案 0 :(得分:2)
您表示您不想使用“rowsPerPage”,但这是一种正确的方法:
query.setMaxResults(1)
但是,除非您查询包含日期的条件,否则不能保证该行是最新的。如果您没有这样的列,并且您没有使用自动增量(这应该是最后的手段),则无法实现目标。
答案 1 :(得分:0)
jpa和hibernate要求每一行必须具有唯一的id。因此,选择id = max(id)的行。这将适用于id生成为增量的大多数情况。例如,如果id是一个字符串,则不确定如何获取它。