从两个不同的键空间创建的PreparedStatement之间的差异

时间:2018-08-30 17:26:52

标签: cassandra datastax-enterprise datastax-java-driver

我有多个PreparedStatement,这些初始化是在bean初始化期间使用单个键空间的当前设置一次创建的,但是现在我尝试使用多个键空间,而表模式仍与以下相同:

//session1 is from connecting to keyspace1
//while session2 to keyspace2

PreparedStatements ps =  session1.prepare(sameStmt);
PreparesStatement ps1 = session2.prepare(sameStmt);

我要弄清楚的是,如果考虑到两个查询字符串相同,那么除了两个不同的对象之外,还有两个不同的键空间之间是否存在差异?我要实现的目标是,如果可能的话,无论键空间如何,都只能创建一次PreparedStatement。有什么建议吗?

1 个答案:

答案 0 :(得分:3)

这不是卡桑德拉设计所允许的。即使两个键空间中的表之间的表架构相同,也无法确保这一点。为了安全起见,Cassandra生成不同的预备语句ID,因此将它们视为不同的预备语句。

相关问题