是否可以@Query
在一种存储库方法中同时使用注释和规范?例如,我想要一个这样的方法:
@Query(value="SELECT e from EMPLOYEE where firstName <> ?1")
public Page<Employee> findEmployeeBySomethigFancy(String firstName, Pageable pageable, Specification<Employee> emp);
是否可以或应该将整个查询构建为a Predicate
并删除@Query
注释?
首先,您可能想阅读此博客文章。其次,根据JpaSpecificationExecutor
存储库应实现的接口,可以使用“规范”运行以下查询:
count(Specification<T> spec)
List<T> findAll(Specification<T> spec)
Page<T> findAll(Specification<T> spec, Pageable pageable)
List<T> findAll(Specification<T> spec, Sort sort)
T findOne(Specification<T> spec)
因此,您不能混合使用@Query
(或查询方法)和Specification
s。
您可以表达这种情况:
firstName <> ?1
使用一个Specification
代替。然后,您可以根据需要组合任意多个规格。
问题内容: 是否可以在一种存储库方法中同时使用注释和规范?例如,我想要一个这样的方法: 是否可以或应该将整个查询构建为a 并删除注释? 问题答案: 首先,你可能想先阅读此博客文章。其次,根据存储库应实现的接口,可以使用“规范”运行以下查询: 因此,你无需将s @Query(或查询方法)混合使用Specification。 你可以表达这种情况: 使用一个代替。然后,你可以根据需要组合任意多个规格。
是否可能或者应该将整个查询构建为并删除注释?
我有非常类似于以前问的问题。除了在我的情况下查询是要找到多个和() sumQuota()工作正常 我希望重用“规范规范”来过滤来自网格控制的各种参数的结果。 你能建议任何解决方案或替代方案吗
无法对JpaSpecificationExecutor存储库使用findAll(规范,分页)方法。我将存储库接口设置为: 每当我调用EmployeeRepository.findall(规范,分页)时;抛出此错误: 这是StackTrace: 完整代码:https://github.com/sanketkd/specificationexecutor 存储库:
我开发了几个电子商务网站,最近我注意到了axonframework。我正在考虑如何用AxonFramework实现一个新的电子商务站点。 null 提前谢了。
我有jpa存储库: 和客户规范 通常我是这样取记录的 现在我想按组计算 其中(复杂规范中的标准)按字段1、字段2、字段3分组; 如上所述,如何使用jpaRepository和Custom规范执行此GROUP BY和COUNT 注意:我可以像这样做完整计数 帮助我分组和计数。提前谢谢。