[英]How to write custom findAll() with Specification in JPA repository
[英]How to use Specification in custom methods in JPA Repository
假设我有这个搜索存储库方法:
@Query(value = "SELECT t.a, t.b, t.c, t.d, t.e from Table t where t.a= :param1 and t.e= :param2")
Page<MyObject> search(Long param1, Long param2, Pageable pageable);
我想将规范应用到此方法中,如下所示:
@Query(value = "SELECT t.a, t.b, t.c, t.d, t.e from Table t where t.a= :param1 and t.e= :param2")
Page<MyObject> search(Long param1, Long param2, Specification specification, Pageable pageable);
有可能做到吗? 因为我很确定规范只能适用于默认的 Spring 方法( findAll
)。
正确答案是否定的。 根据 JpaSpecificationExecutor,您可以通过以下方法使用规范 object:
findOne(@Nullable Specification<T> spec);
findAll(@Nullable Specification<T> spec);
findAll(@Nullable Specification<T> spec, Pageable pageable);
findAll(@Nullable Specification<T> spec, Sort sort);
count(@Nullable Specification<T> spec);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.