【问题标题】: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() 方法。

    【讨论】:

      猜你喜欢
      • 2014-10-30
      • 2020-03-08
      • 1970-01-01
      • 2018-02-06
      • 2021-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多