有没有办法在 CQL 驱动程序中使用 QueryBuilder 执行 "SELECT JSON ..."?
Is there a way to perform "SELECT JSON ..." with the QueryBuilder in the CQL drivers?
我仔细研究了 datastax 的 QueryBuilder 源代码,但找不到像这样的查询方法:
select JSON * from myTable;
此外,创建一个子类来执行此操作相当容易,但这会因 com.datastax.driver.core.querybuilder.Select
中构造函数的包保护而受阻。
有什么办法可以查询吗?
目前还不可能,但您可以使用新的 select().raw()
方法注入任意字符串,例如 "JSON *".
查看这个JIRA的解析:https://datastax-oss.atlassian.net/browse/JAVA-1086
添加了新语法:
select()
.cast(fcall("writetime", column("country")), DataType.text())
.from("artists").limit(2);
我还在顶层公开了原始方法API,所以这将作为未来此类问题的解决方法:
select = select().raw("CAST(writetime(country) AS text)").from("artists").limit(2);
我仔细研究了 datastax 的 QueryBuilder 源代码,但找不到像这样的查询方法:
select JSON * from myTable;
此外,创建一个子类来执行此操作相当容易,但这会因 com.datastax.driver.core.querybuilder.Select
中构造函数的包保护而受阻。
有什么办法可以查询吗?
目前还不可能,但您可以使用新的 select().raw()
方法注入任意字符串,例如 "JSON *".
查看这个JIRA的解析:https://datastax-oss.atlassian.net/browse/JAVA-1086
添加了新语法:
select()
.cast(fcall("writetime", column("country")), DataType.text())
.from("artists").limit(2);
我还在顶层公开了原始方法API,所以这将作为未来此类问题的解决方法:
select = select().raw("CAST(writetime(country) AS text)").from("artists").limit(2);