【发布时间】:2019-03-14 07:25:47
【问题描述】:
我尝试根据布尔值@Param 构建查询,困难在于我在不使用经典运算符(=、...)的情况下构建查询的结尾。
例如,假设我想获取与 Account 对象无关(如果我在 @Param 中传递 false)或与 Account 相关的所有 Sales 对象(如果我在 @Param 中传递 true ) :
@Query("SELECT sale ....
WHERE sale.account :#{isbound ? NOT NULL : IS NULL}")
public List<Sale> getSales(@Param("isbound") boolean isBound);
我尝试了一些基于官方 Spring 文档 (https://spring.io/blog/2014/07/15/spel-support-in-spring-data-jpa-query-definitions) 的语法,但他们的所有示例都在表达式之前使用运算符,例如:entity = #{the_expression}。
有人曾经尝试过这个并且可以给我写这个的好方法吗?谢谢!
【问题讨论】:
标签: spring spring-data-jpa jpql spring-el