关于 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");
我们使用 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");