序列化BoundStatement卡桑德拉
问题描述:
我有,我想连载卡桑德拉BoundStatement并将其转换为byte[]
阵列,并将其发送通过网络和反序列化回Bound Statement
对象的用例。序列化BoundStatement卡桑德拉
我使用的Java 8
但问题是, BoundStatement没有实现Serializable
接口。
有什么办法我可以序列BoundStatement,发过来的HTTP,如果你想序列BoundStatement
那么你也有系列化PreparedStatement
,DataWrapper
反序列化回BoundStatement
答
,因为BoundStatement
同时使用的他们。
即使您能够序列化BoundStatement
,如果没有创建它的会话,您将无法执行它。如果你与其他会话中执行BoundStatement
,驱动程序将抛出InvalidQueryException
Exception in thread "main" com.datastax.driver.core.exceptions.InvalidQueryException: Tried to execute unknown prepared query : 0x0c245df8681f7dc939aba0c76164e4d3. You may have used a PreparedStatement that was created with another Cluster instance.
at com.datastax.driver.core.SessionManager.makeRequestMessage(SessionManager.java:571)
at com.datastax.driver.core.SessionManager.executeAsync(SessionManager.java:131)
at com.datastax.driver.core.AbstractSession.execute(AbstractSession.java:68)
...
是他们的任何办法可以查询回来从绑定声明 –
是的,你可以用'boundStatement.preparedStatement()。getQueryString()' –
谢谢你的回答,但它返回了我准备好的语句查询,而不是查询哪个实际上要去的数据库,例如------>返回'插入表(名称)值(?)'但我想要完整的查询与值'插入表(名称)值('RAM')' –