我有一个JPA存储库,我正在从查询方法中流式传输结果:
@Repository
public interface EmployeeRepository extends JpaRepository<Employee, Integer> {
@Query("SELECT * FROM EmployeeEntity")
Stream<Employee> streamEmployees();
}
字符串
理想情况下,我希望能够使用参数动态地设置流的限制:
@Repository
public interface EmployeeRepository extends JpaRepository<Employee, Integer> {
@Query("SELECT * FROM EmployeeEntity limit :limit")
Stream<Employee> streamEmployees(@Param("limit") int limit);
}
型
有可能吗?我知道你可以使用流的返回类型,但是我想限制返回的结果。我想避免使用原生查询。
1条答案
按热度按时间kcrjzv8t1#
您可以使用可分页的类,而不是使用可能引发漏洞的查询,该类将包含结果作为可以更改为流的内容。创建页面:
字符串
jpa方法可以是:
型
因此您可以将页面设置为零,并将大小设置为您想要的限制。
更多说明:页面继承自Slics,Slics继承自Streamable。所以你可以从Page对象调用
stream()
函数。