在我的 Spring Data存储库中,我(必须)使用@Query注释使用自定义查询.我知道我可以限制命名查询中的结果数量
可迭代<人> findFirst5OrderByLastName()
或者可以通过传递类似的可分页来限制结果的数量
可迭代<人> findByLastName(String lastName,Pageable pageable)
但是在使用自定义@Query注释时是否可以实现相同的目标?
TIA
编辑
因为我看到我的问题有点令人困惑,有些澄清:
我想要的是在使用自定义查询时限制我得到的结果数量,这样我就不会这样做
1)需要通过可分页指定结果大小
2)需要使用命名查询来指定结果大小
实际上我希望在调用方法时结果数量的限制是完全透明的(因此不传递Pageable)并且不依赖于Spring Data的命名方案(因为方法的意义/功能最好通过自定义名称)
最佳答案 你可以试试这个:
@Entity
@Table(name = "persons")
public class Person {
//...
}
@Query(value = "select * from persons limit 50", nativeQuery = true)
List<Person> getFirst50();
不要忘记检查SQL Server是否支持limit关键字.