【问题标题】:Setting QueryOptions on a string CQL query in Spring data cassandra 2.0.7.RELEASE在 Spring data cassandra 2.0.7.RELEASE 中对字符串 CQL 查询设置 QueryOptions
【发布时间】:2018-06-15 15:51:34
【问题描述】:

我必须在 spring-data-cassandra-2.0.7.RELEASE 中对字符串 CQL 查询设置查询选项

CassandraOperations cOps = new CassandraTemplate(session); 
String cqlQuery = "insert into......."
cOps.getCqlOperations().execute(cqlQuery);

有没有办法将 QueryOptions 应用于字符串输入查询?我也不想转换为语句然后应用选项。由于用例是输入 cqlQuery 可以是任何语句。

感谢您的回复。

【问题讨论】:

    标签: spring-data-cassandra


    【解决方案1】:

    TL;DR

    不支持QueryOptionsCqlTemplateQueryOptions 只能与CassandraTemplate 一起使用(AsyncCassandraTemplateReactiveCassandraTemplate)。

    说明

    CqlTemplate 是仅 CQL 的 API 抽象,与 Spring Framework 的 JdbcTemplate 一致。您可以在CqlTemplate级别上配置一些选项,例如ConsistencyLevelFetchSizeRetryPolicy

    如果要控制查询选项,请使用 Datastax 的Statement 对象(如SimpleStatement):

    SimpleStatement statement = new SimpleStatement("INSERT INTO …");
    statement.setFetchSize(1234);
    statement.setRetryPolicy(FallthroughRetryPolicy.INSTANCE);
    // probably more …
    
    execute(statement);
    

    【讨论】:

    • 我的输入查询如下: ********* BEGIN BATCH 插入人(姓名,年龄,身份证)值('Roby',24,'123963011')使用时间戳1529300306789000 和 TTL 60;使用时间戳 1529300306789000 和 TTL 60 插入人(姓名、年龄、身份证)值('Jefferson',23,'123963012');申请批次; ******* 以上修复不适用于我的情况。任何想法如何完成上述基于字符串的查询。字符串输入可以是单个更新/插入/删除语句或多个此类语句。感谢@mp911de 的回复。谢谢
    猜你喜欢
    • 2019-05-18
    • 2017-12-27
    • 2019-10-04
    • 2017-01-14
    • 2014-11-25
    • 2014-07-25
    • 2018-03-28
    • 2015-03-10
    • 1970-01-01
    相关资源
    最近更新 更多