如何将SQL查询条件动态传递给@query作为参数

时间:2019-01-12 04:54:35

标签: java spring-boot spring-data-jpa crud

是否可以在查询注释中添加动态sql条件

当n =时说  n!=:名称 n就像“%:name%”

根据用户输入的条件形成

public interface PersonRepository extends CrudRepository<Person, Long> {
   @Query("select p from Person AS p"
   + " ,Name AS n"  
   + " where p.forename = n.forename "
   + " and p.surname = n.surname"
   + " and n = :name")
   Set<Person>findByName(@Param("name") Name name);
}

当用户选择=或!=或类似

时,我想动态地形成sql条件,而不是编写“ and n =:name”

“和n!=:name” “并且n类似于'%:name%'”

好像是“过滤”选项

1 个答案:

答案 0 :(得分:0)

我认为Spring Data Jpa最简单的方法是使用基于JPA Criteria API的specifications