Spring Framework の @Query アノテーションで定義されたメソッドを使用してクエリを作成しています。
@Transactional(readOnly=true)
@Query("SELECT x FROM X x ORDER BY x.id ASC")
List<X> findLowest();
現在、アイテムのリストを返していますが、実際には最初のものだけを返したいです。これどうやってするの?
Spring Framework の @Query アノテーションで定義されたメソッドを使用してクエリを作成しています。
@Transactional(readOnly=true)
@Query("SELECT x FROM X x ORDER BY x.id ASC")
List<X> findLowest();
現在、アイテムのリストを返していますが、実際には最初のものだけを返したいです。これどうやってするの?
まず、次のように 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);
このようにして、このメソッドを別の機会に再利用できます。