JpaRepository @Query("") 判断参数是否为空
时间: 2023-06-29 18:10:55 浏览: 293
使用JPA中@Query 注解实现update 操作方法(必看)
可以使用SpEL表达式判断参数是否为空,例如:
```java
@Query("SELECT u FROM User u WHERE (:param1 is null or u.field1 = :param1) and (:param2 is null or u.field2 = :param2)")
List<User> findByParams(@Param("param1") String param1, @Param("param2") Integer param2);
```
在这个例子中,使用了 `:param1` 和 `:param2` 两个SpEL表达式来表示两个参数,然后使用 `is null` 来判断参数是否为空。如果参数为空,则不添加对应的查询条件。
注意,使用SpEL表达式时需要在方法上加上 `@Param` 注解来指定参数名。
阅读全文