我有一个Java应用程序,其中我正在解析数据并将其更新到我的Cassandra 3.0数据库中。到目前为止,我的操作都非常成功,直到涉及到用户定义类型的列时出现了问题。
String statement_update = "UPDATE table SET "
+ "elements = elements + [{name: ? , associations: []}]"
+ " WHERE id = ?
在我的Cassandra 3.0数据库中,elements是一个用户定义的类型,由名称(数据类型:text)和关联(数据类型:list)组成。
PreparedStatement prepared_update = session.prepare(statement_update);
bound_update = prepared_update.bind(name, id);
变量name
和id
的类型为String。
我一直试图使用预处理语句将新解析的数据更新到我的表中;但是,在解析数据后,我无法向我的元素列添加更多元素。我收到错误消息:“对于elements的无效列表字面值:不支持在集合文字中使用绑定变量。” 如何解决这个问题?
我已尝试更改statement_update语句为"UPDATE table SET elements = elements + ? WHERE id = ?"
的方式,但是我不知道要添加到bind语句中的是什么样的列表(甚至不知道它是否是列表)。
为了满足我的用户定义类型:elements,需要什么?