Ank*_*hah 2 java spring jpa spring-data-jpa
我有以下参数
Boolean isActive = true/false
Run Code Online (Sandbox Code Playgroud)
我需要在 JPA 查询中传递这个参数。
true = IS NOT NULL
false = IS NULL
@Query("select t from Test t WHERE t.active = ?1")
Optional<Test> findByIds(Boolean isActive);
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点,而不是为 IS NULL 和 IS NOT NULL 创建 2 个单独的查询。
您可以通过以下方式实现
@Query("select t from Test t WHERE (?1 = true AND t.active IS NOT NULL) OR
(?1 = false AND t.active IS NULL")
Optional<Test> findByIds(Boolean isActive);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |