我们已经开始将Cassandra与Astyanax一起用于我们的持久层并且撞到了砖墙。
DefaultEntityManager不允许我使用
的ColumnFamilyAstyanax抛出的错误消息: " 类型为DefaultEntityManager.Builder的withColumnFamily(ColumnFamily)方法不适用于参数(ColumnFamily "
我们希望使用TimeUUIDTypes作为键,以便它们是唯一的并按时间排序。
我还能如何使用UUID作为密钥?
答案 0 :(得分:1)
我终于理解为什么Astyanax不允许我使用ColumnFamily。我的错误是我用参数(Object,String)而不是(Object,UUID)定义EntityManager
ColumnFamily<UUID, String> columnFamily = new ColumnFamily< UUID, String>(
"Merchant", // Column Family Name
StringSerializer.get(), // Key Serializer
StringSerializer.get()); // Column Serializer
EntityManager<Merchant, UUID > entityPersister = new DefaultEntityManager.Builder<Merchant, UUID >()
.withEntityType(Merchant.class)
.withKeyspace(keyspace)
.withColumnFamily(columnFamily)
.build();