Java 从要附加在';顶部';或';第一';like:findTop[paramValue]By
我想知道是否可以将参数传递给jpa数据方法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>
@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));