首页 > 解决方案 > 如何查看在 Spring boot 中使用 Cassandra 时生成的 CQL

问题描述

使用类型的构造时

public interface TableNameDAO  extends CrudRepository<TableNameModel, String>  {
   List<TableNameModel> findAll();
}

执行时如何在 spring-boot 应用程序的控制台中查看生成的 CQL 查询?

谢谢

标签: javaspring-bootcassandra-3.0spring-data-cassandra

解决方案


CQL 语句按CqlTemplate级别DEBUG记录。将记录器org.springframework.data.cassandra.core.cql(Spring Data Cassandra 2.0 及更高版本,org.springframework.cassandra.core用于 Spring Data Cassandra 1.5.x)设置为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


推荐阅读