【问题标题】:How to view the CQL generated when using Cassandra with Spring boot如何查看在 Spring boot 中使用 Cassandra 时生成的 CQL
【发布时间】:2019-01-19 03:57:24
【问题描述】:
当使用类型的构造时
public interface TableNameDAO extends CrudRepository<TableNameModel, String> {
List<TableNameModel> findAll();
}
执行时如何在 spring-boot 应用程序的控制台中查看生成的 CQL 查询?
谢谢
【问题讨论】:
标签:
java
spring-boot
cassandra-3.0
spring-data-cassandra
【解决方案1】:
CQL 语句由CqlTemplate 在DEBUG 级别记录。将记录器org.springframework.data.cassandra.core.cql(Spring Data Cassandra 2.0 及更高版本,Spring Data Cassandra 1.5.x 使用org.springframework.cassandra.core)设置为DEBUG 将报告所有执行的语句:
2018-08-13 11:00:31,468 DEBUG | main | org.springframework.data.cassandra.core.cql.CqlTemplate | Executing CQL Statement [UPDATE user SET a = 'b';] |
或者,您可以在Cluster 中注册查询记录器:
Cluster cluster = …;
cluster.register(QueryLogger.builder().build());
QueryLogger 的日志输出记录到 com.datastax.driver.core.QueryLogger.NORMAL 等 DEBUG 级别的记录器。