如何使用@Query表示法仅返回第一个结果?

时间:2013-02-08 01:37:33

标签: jpql spring-data spring-data-jpa

我正在使用Spring Framework中通过@Query注释定义的方法进行查询。

@Transactional(readOnly=true)
@Query("SELECT x FROM X x ORDER BY x.id ASC")
List<X> findLowest();

我目前正在返回一个项目列表,但我真的只想返回第一个项目。 我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

首先,您应该在方法中添加一个Pageable对象,如下所示:

@Transactional(readOnly=true)
@Query("SELECT x FROM X x ORDER BY x.id ASC")
List<X> findLowest(Pageable pageable);

并以这种方式使用:

Pageable firstResult = new PageRequest(0, 1);
List<X> result = repository.findLowest(firstResult);

通过这种方式,您可以再次使用此方法。