【问题标题】:Spring Data Cassandra: Run WHERE only if param not nullSpring Data Cassandra:仅在参数不为空时运行 WHERE
【发布时间】:2018-10-03 06:14:26
【问题描述】:
如您所知,您可以在 Spring Cassandra 中执行以下操作:
@Query("SELECT * from Report WHERE :param1 = "test")
List<Report> findByParam1(@Param String param1);
但是如果 Param1 为空怎么办?我想创建一个查询,如果没有要检查的 param1,则忽略“WHERE”子句。在 CASSANDRA 中这样的事情可能吗?
【问题讨论】:
标签:
java
spring
spring-boot
cassandra
spring-data-cassandra
【解决方案1】:
你正在寻找的东西是不可能的。但是您可以通过创建另一个不带参数的方法 findAll 方法并在参数为空时调用它来实现相同的目的。
例子
@Query("SELECT * from Report WHERE :param1 = "test")
List<Report> findByParam1(@Param String param1);
@Query("SELECT * from Report")
List<Report> findAll();
现在根据您检查的参数是否为空,您可以调用 findByParam1(param) 或 findAll() 方法。