spring 如何在JPQL中添加可选参数?

7xzttuei  于 2022-11-21  发布在  Spring
关注(0)|答案(1)|浏览(154)

如何在JPQL中使用/添加可选参数?

@Query(value = "SELECT stud FROM Student stud where stud.name = :studentName AND stud.age IN :studentAgeList")
List<Student> getStudents(
            @Param("studentName ") String studentName, 
            @Param("studentAgeList") List<Integer> studentAgeList
         )

如何在上述查询中设置studentAgeList参数?
我试了试下面:

@Query(value = "SELECT stud FROM Student stud where stud.name = :studentName AND (:studentAgeList IS NULL OR stud.age IN :studentAgeList))
List<Student> getStudents(
            @Param("studentName ") String studentName, 
            @Param("studentAgeList") List<Integer> studentAgeList
         )

但得到错误:意外的AST节点:
已尝试上述操作,但出现错误

zf9nrax1

zf9nrax11#

JPQL不支持可选参数,您可以将重载方法与不同的查询或条件API或JPA规范一起使用。
也许是在这里得到答案:Set optional parameters in JPQL Query

相关问题