Spring Data Compose @Query动态查询

6

我有这样一个情况,需要在某个方法中编写JPQL查询语句,然后将该查询语句作为查询注解@Query的参数传递给Spring Data查询方法。

@Query(value = ":DyanamicQuery")
List<PrizeInsuranceConfiguration> filterConfigurPrizeInsurance(String DyanamicQuery);

或者至少是条件部分。
@Query(value = "SELECT c FROM PrizeInsuranceConfiguration c WHERE  :DyanamicConditions")
List<PrizeInsuranceConfiguration> filterConfigurPrizeInsurance(String DyanamicConditions);
1个回答

2

可以这样做,但有两个原因不建议:

  1. SQL注入(Spring Data使用预处理语句);
  2. (第一个原因的结果)Spring Data创建查询树并绑定所有参数。

但如果您需要动态查询,可以使用规范示例查询Querydsl


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接