Java 从要附加在';顶部';或';第一';like:findTop[paramValue]By

Java 从要附加在';顶部';或';第一';like:findTop[paramValue]By,java,spring,spring-boot,spring-data-jpa,Java,Spring,Spring Boot,Spring Data Jpa,我想知道是否可以将参数传递给jpa数据方法 @Entity public class Employee { private @Id @GeneratedValue Long id; private String name; private String dept; private int salary; ............. } public interface EmployeeRepository extends JpaRepository<Employee, Long>

我想知道是否可以将参数传递给jpa数据方法

@Entity
public class Employee {
private @Id
@GeneratedValue
Long id;
private String name;
private String dept;
private int salary;
.............
}


public interface EmployeeRepository extends JpaRepository<Employee, Long> 
{

  List<Employee> findTop3ByOrderBySalaryDesc();

}
@实体
公营雇员{
私人@Id
@生成值
长id;
私有字符串名称;
私人弦乐部;
私人薪酬;
.............
}
公共接口EmployeeRepository扩展了JpaRepository
{
列出findTop3ByOrderBySalaryDesc();
}
将限制作为参数传递,而不是写入:

   List<Employee> findTop3ByOrderBySalaryDesc();
List findTop3ByOrderBySalaryDesc();
我想编写一个这样的通用方法,并将myLimit作为参数传递:

   List<Employee> findTop<myLimit>ByOrderBySalaryDesc();
List findTopByOrderBySalaryDesc();

您可以通过向方法添加一个
Pageable
参数并删除查询的
Top
部分来实现。 可分页的
Pageable
也应包含按排序的信息。 因此,你最终会:

List<Employee> findBy(Pageable limit)
所以调用它看起来像:

findBy(topSalaries(5));
findBy(topSalaries(5));