Java 冬眠ogm-';卡桑德拉"实验"';没有有效的数据存储提供程序短名称

Java 冬眠ogm-';卡桑德拉"实验"';没有有效的数据存储提供程序短名称,java,cassandra,hibernate-ogm,Java,Cassandra,Hibernate Ogm,我刚刚为多个数据库编写了一个测试程序。 它基于hibernate vor关系数据库和hibernate ogm for NoSQL数据库 目前我支持mysql、postgresql和MongoDB。 现在我想试用cassandra驱动程序,但我得到了一个错误: “cassandra_”不是有效的数据存储提供程序短名称。有效值为:MAP、INFINISPAN、EHCACHE、MONGODB、NEO4J_EMBEDDED、COUCHDB_EXPERIMENTAL 我的maven项目中的依赖项列表:

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

目前我支持mysql、postgresql和MongoDB。 现在我想试用cassandra驱动程序,但我得到了一个错误:

“cassandra_”不是有效的数据存储提供程序短名称。有效值为: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 OGM版本

Cassandra实验支持从版本开始提供


这是数据存储提供程序名称更改为CASSANDRA_的提交:

如果您可以删除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>

org.hibernate.ogm
冬眠ogm mongodb
org.hibernate.ogm
冬眠奥格姆卡桑德拉

您为hibernate ogm mongodb指定了4.1.3,这可能会引入旧版本的hibernate ogm内核。如果它仍然不起作用,那么需要更多关于您的环境的详细信息:这是Java SE还是在JJ服务器(如WildFly)上?

谢谢您的提示,我没有使用最新版本,但更改后问题仍然存在。我把pom文件的依赖项列表放进去了,这可能会有帮助吗?谢谢你的回答,当我删除版本时,我在构建项目时遇到了一个错误。对我来说,它从未与maven插件一起工作过,所以我使用“mvn eclipse:eclipse”在控制台上构建了一个eclipse项目。thankt@Gunnar,这就是问题所在。我刚刚为mongoDB使用了版本4.2.0,它起到了作用:)如果在实际的依赖项中忽略了版本,会出现哪个错误?如前所述,由于将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>