我正在尝试连接到Cassandra并在Grails中写一个查询以总计,但是我遇到了一个缺少的方法异常:
groovy.lang.MissingMethodException: No signature of method: project .sampleTest.column() is applicable for argument types: (java.lang.String) values: [amount] Possible solutions: collect(), dump(), collect(groovy.lang.Closure)
以下是我写的求和金额查询。
Select selectQuery = QueryBuilder.select().fcall("sum", column("amount")).from(tableName).allowFiltering()
Session session = cassandraTemplate.getSession();
Where selectWhere = selectQuery.where();
最佳答案
要在 fcall()
内使用列名,您需要使用静态方法 QueryBuilder.column()
。因此,当您在fcall()
中使用它时,您需要像这样来调用它:
Select selectQuery = QueryBuilder.select().fcall("sum", QueryBuilder.column("amount")).from(tableName).allowFiltering()
关于grails - 如何修复groovy.lang.MissingMethodException:计算总数时方法没有签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54097466/