java - kundera-cassandra 使用 spring 时在 EntityManagerFactory 上设置 cql 版本

标签 java spring cassandra kundera

我想在 kundera-cassandra (V3.2) 实体中使用序列生成器。引用这个https://github.com/impetus-opensource/Kundera/issues/777我必须在创建 EntityManagerFactory 时(而不是创建 EntityManager 时)将 CQL 版本设置为版本 3。我的问题是我使用 Spring 并且我不知道在 Autowiring EntityManagerFactory 时如何设置属性。

@Id
@TableGenerator(name = "id_gen", allocationSize = 30, initialValue = 100)
@GeneratedValue(generator = "id_gen", strategy = GenerationType.TABLE)
private String id;

在我的存储库中,我定义了 EntityManagerFactory,如下所示:

@PersistenceUnit
private EntityManagerFactory entityManagerFactory;

在我的 application-context.xml 中,我这样定义 Bean:

<bean id="entityManagerFactory"
    class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="persistenceUnitName" value="cassandra_pu" />
</bean> 

<bean id="pum" class="org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager">
    <property name="persistenceXmlLocations">
        <list>
            <value>classpath:persistence.xml</value>
        </list>
    </property>
</bean>

那么有人可以告诉我在哪里设置版本属性吗?

最佳答案

您可以执行以下操作:

  • 创建一个 xml 文件,例如 cass-props.xml并添加以下内容:

<?xml version="1.0" encoding="UTF-8"?> <clientProperties> <datastores> <dataStore> <name>cassandra</name> <connection> <properties> <property name="cql.version" value="3.0.0" /> </properties> <servers> <server> <host> localhost </host> <port> 9160 </port> </server> </servers> </connection> </dataStore> </datastores> </clientProperties>

  • 然后将以下属性添加到您的 persistence.xml

    <property name="kundera.client.property" value="cass-props.xml" />

关于java - kundera-cassandra 使用 spring 时在 EntityManagerFactory 上设置 cql 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34354063/

相关文章:

java - 需要帮助确定最大和最小用户输入

java - : Landroidx/work/impl/utils/futures/AbstractFuture 解析失败

spring - 如何通过 @WithAnonymousUser 正确测试 LoginForm

cassandra - keyspace system_auth 不存在?

java - Spark中保存到cassandra,java中没有parallelize方法

java - 如何在 Java 中获取平铺 map

java - 什么是量化代码库中继承的好工具?

java - 禁止 Spring 接受 POST 参数作为查询参数

spring - 如何配置 Spring Integration 以使用多线程从 Redis 读取?

python - 使用 datastax Python Cassandra 驱动程序从文件执行 CQL 查询