关于 Kundera 和 Cassandra ThriftClient

Regarding Kundera and Cassandra ThriftClient

我们使用 Kundera ORM 从 REST 服务连接到 Cassandra。在 persistence.xml 中,我们将客户端查找 class 指定为 ThriftClientFactory,如下所示

<property name="kundera.client.lookup.class"
                value="com.impetus.client.cassandra.thrift.ThriftClientFactory" />

这是连接到 Cassandra 的正确方法吗?或者有什么方法可以通过 Kundera 使用 CQL 连接到 Cassandra?

是的,Kundera 的 ThriftClient 使用 CQL 与 Cassandra 通信。此外,请确保在使用此客户端时从您的应用程序启用 CQL3。

设置CQL3:您可以选择下面给出的任何方法

  • 在 EntityManagerFactory

    HashMap propertyMap = new HashMap();
    propertyMap.put(CassandraConstants.CQL_VERSION, CassandraConstants.CQL_VERSION_3_0);
    EntityManagerFactory emf = Persistence.createEntityManagerFactory("cassandra_pu", propertyMap);
    
  • 在实体管理器中

    EntityManagerFactory emf = Persistence.createEntityManagerFactory("cassandra_pu");
    EntityManager em = emf.createEntityManager();
    em.setProperty("cql.version", "3.0.0");