Spring 引导 JPA 本机查询 - 不是基于参数的空检查
Spring Boot JPA Native Query - is not null check based on parameter
在 Spring 启动 JPA 本机查询中,我们如何根据参数添加动态检查列值是否可以为 null。例如,在下面的场景中,如果 isEmailNullAllowed
是 true
,那么 'email' 列可以是 null
,否则它必须是 not null
。
@Query(value = "select * from users where user_id=:userId and email is not null")
List<User> findByName(@Param("userId") String userId,
@Param("isEmailNull") Boolean isEmailNullAllowed);
就or
:
@Query(value = "select * from users where user_id=:userId and (:isEmailNull = true or email is not null)")
List<User> findByName(@Param("userId") String userId,
@Param("isEmailNull") Boolean isEmailNullAllowed);
在 Spring 启动 JPA 本机查询中,我们如何根据参数添加动态检查列值是否可以为 null。例如,在下面的场景中,如果 isEmailNullAllowed
是 true
,那么 'email' 列可以是 null
,否则它必须是 not null
。
@Query(value = "select * from users where user_id=:userId and email is not null")
List<User> findByName(@Param("userId") String userId,
@Param("isEmailNull") Boolean isEmailNullAllowed);
就or
:
@Query(value = "select * from users where user_id=:userId and (:isEmailNull = true or email is not null)")
List<User> findByName(@Param("userId") String userId,
@Param("isEmailNull") Boolean isEmailNullAllowed);