hibernate-ogm - ' cassandra_experimental'没有有效的数据存储提供程序短名称

时间:2015-07-15 12:30:42

标签: java cassandra hibernate-ogm

我刚刚为多个数据库编写了一个测试程序。 它基于hibernate vor关系数据库和hibernate-ogm for NoSQL数据库。

目前我支持mysql,postgresql和MongoDB。 现在我想尝试cassandra驱动程序,但是我收到了错误:

'cassandra_experimental' is no valid datastore provider short name. Valid values are: MAP, INFINISPAN, EHCACHE, MONGODB, NEO4J_EMBEDDED, COUCHDB_EXPERIMENTAL

我的maven项目中的依赖列表:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.hibernate.ogm</groupId>
            <artifactId>hibernate-ogm-bom</artifactId>
            <version>4.2.0.Final</version>
        </dependency>

    </dependencies>
</dependencyManagement>

<dependencies>

    <dependency>
        <groupId>org.jboss.jbossts</groupId>
        <artifactId>jbossjta</artifactId>
        <version>4.16.6.Final</version>
    </dependency>



    <!-- Hibernate Search -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-search-orm</artifactId>
        <version>5.0.1.Final</version>
    </dependency>

    <!-- Use this for MongoDB -->
    <dependency>
        <groupId>org.hibernate.ogm</groupId>
        <artifactId>hibernate-ogm-mongodb</artifactId>
        <version>4.1.3.Final</version>
    </dependency>


    <!-- cassandra -->
    <dependency>
        <groupId>org.hibernate.ogm</groupId>
        <artifactId>hibernate-ogm-cassandra</artifactId>
        <version>4.2.0.Final</version>
    </dependency>

    <!-- mysql -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.36</version>
    </dependency>

    <!-- postgresql -->
    <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <version>9.4-1200-jdbc41</version>
    </dependency>

    <!-- Testing -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.easytesting</groupId>
        <artifactId>fest-assert</artifactId>
        <version>1.4</version>
        <scope>test</scope>
    </dependency>
</dependencies>

我使用了hibernate文档docs.jboss.org

有人用过cassandra并且可以在这里给出一些建议吗?

我感谢任何答案:)

PS:更多信息: 我在虚拟机中使用Windows 7客户端和ubuntu 14.04服务器。在我的客户端,我使用eclipse kepler编写我的程序。

版: 当我删除pom.xml中的版本时,我对错误消息感到厌烦:

mvn eclipse:eclipse
[INFO] Scanning for projects...
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[ERROR] 'dependencies.dependency.version' for org.hibernate.ogm:hibernate-ogm-mongodb:jar is missing. @ line 49, column 15
[ERROR] 'dependencies.dependency.version' for org.hibernate.ogm:hibernate-ogm-cassandra:jar is missing. @ line 56, column 15
 @
 [ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR]   The project org.hibernate.demos:History_Log_Test:1.0-SNAPSHOT (C:\User
s\MOTZA\Documents\__BA\Bachelor-Thesis\ws\History_Log_Test\pom.xml) has 2 errors

[ERROR]     'dependencies.dependency.version' for  org.hibernate.ogm:hibernate-og
m-mongodb:jar is missing. @ line 49, column 15
[ERROR]     'dependencies.dependency.version' for org.hibernate.ogm:hibernate-og
m-cassandra:jar is missing. @ line 56, column 15
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit
ch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please rea
d the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildin
gException

2 个答案:

答案 0 :(得分:0)

我怀疑你没有使用最新的Hibernate OGM版本。

自版本4.2以来,Cassandra实验支持可用。

这是数据存储区提供程序名称已更改为CASSANDRA_EXPERIMENTAL的提交:6fd5777

答案 1 :(得分:0)

您可以删除 hibernate-ogm-mongodb hibernate-ogm-cassandra 依赖项的版本,您将从BOM中获取它们:

<dependency>
    <groupId>org.hibernate.ogm</groupId>
    <artifactId>hibernate-ogm-mongodb</artifactId>
</dependency>

<dependency>
    <groupId>org.hibernate.ogm</groupId>
    <artifactId>hibernate-ogm-cassandra</artifactId>
</dependency>

hibernate-ogm-mongodb 指定4.1.3,这可能会引入旧版本的 hibernate-ogm-core 。如果它仍然无法工作,则需要更多有关环境的详细信息:是Java SE还是JF服务器,例如WildFly?