Spring 数据:获取有序对象列表中第一个对象的更好方法?

Spring Data: any better way in getting the first object in an ordered list of objects?

我需要获取最近更新的对象。以下是我如何使用 Spring 数据:

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 的字段。首选非特定于数据库的解决方案。

感谢任何意见。

--更新--

我选择了一个答案,但不确定哪个更好。

也许您可以通过@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 语句,您可以将其替换为您的数据库支持的一些替代方法。