我需要获取最近更新的对象。以下是我使用Spring Data的方法:
final PageRequest pr = new PageRequest(
0, 1, Direction.DESC, "updateTime"
);
List<MyObject> objects = myObjectRepository.findAll(pr);
if (objects.size() > 0) {
return objects.get(0);
} else {
return null;
}
请注意,MyObject有一个名为UpdateTime的字段。首选非特定于数据库的解决方案。
感谢您的任何意见。
- UPDATE -
我选择了一个答案,但不确定它是否更好。
答案 0 :(得分:1)
也许你可以通过@Query注释来做到这一点。 http://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.at-query
我想在你的存储库界面中你需要定义像
这样的方法@Query("SELECT o FROM MyObject o ORDER BY o.updateTime DESC LIMIT 0,1")
MyObject findMostRecentObject();
如果您的数据库不支持LIMIT语句,您可以将其替换为您的数据库支持的替代方案。