【问题标题】:Spring Boot JPA Native Query - is not null check based on parameterSpring Boot JPA Native Query - 不是基于参数的空检查
【发布时间】:2020-10-14 09:50:25
【问题描述】:

在 Spring Boot JPA 原生查询中,我们如何根据参数添加动态检查列值是否可以为空。例如,在下面的场景中,如果isEmailNullAllowedtrue,那么'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);

【问题讨论】:

    标签: java spring spring-boot hibernate jpql


    【解决方案1】:

    只要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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-13
      • 2021-11-13
      • 2021-09-15
      • 2017-06-01
      • 2017-04-01
      • 1970-01-01
      相关资源
      最近更新 更多