我的情况是我必须在某种方法中编写JPQL查询,然后将此查询传递给spring数据查询方法,以用作@Query
注释中的查询
@Query(value = ":DyanamicQuery")
List<PrizeInsuranceConfiguration> filterConfigurPrizeInsurance(String DyanamicQuery);
或至少是条件部分
@Query(value = "SELECT c FROM PrizeInsuranceConfiguration c WHERE :DyanamicConditions")
List<PrizeInsuranceConfiguration> filterConfigurPrizeInsurance(String DyanamicConditions);
答案 0 :(得分:1)
那么,你可以做到。为什么不这样做有两个原因:
但如果您需要动态查询,可以使用Specifications,Query by Example或Querydsl。
答案 1 :(得分:0)
通过使用自定义Spring Data存储库并使用Antlr4与CriteriaBuilder创建where子句,我可以实现从SQL注入保存动态的where子句。 基本上,我为我支持的where子句定义了一个语法,然后使用Antlr4访问者浏览该语法并初始化谓词。