0

i just wrote a testing programm for multiple Databases. It is based on hibernate vor relational databases and hibernate-ogm for NoSQL databases.

at the moment I support mysql, postgresql and MongoDB. Now I wanted to try out the cassandra driver, but I get the error:

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

my dependency list in my maven project:

<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>

I use the hibernate documentation docs.jboss.org

Has someone usesd cassandra already and can give some advice here?

I appreciate any answer :)

PS: some more information: I use a windows 7 client and an ubuntu 14.04 server in a virtual machine. on my client I use eclipse kepler to write my programm.

edition: I was asek for the error messages when I remove the version in the 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
Ruth
  • 856
  • 2
  • 13
  • 26

2 Answers2

0

I suspect you are not using the latest Hibernate OGM version.

Cassandra experimental support is available since version 4.2.

This is the commit where the datastore provider name has changed to CASSANDRA_EXPERIMENTAL: 6fd5777

Davide D'Alto
  • 7,421
  • 2
  • 16
  • 30
  • thank you for your hint, I didn't use the latest version, but after changing that the problem still exists. I put in the dependency list of my pom file, maybe that helps? – Ruth Jul 16 '15 at 10:12
0

Can you remove the versions of the hibernate-ogm-mongodb and hibernate-ogm-cassandra dependencies, you will get them from the 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>

You specify 4.1.3 for hibernate-ogm-mongodb, maybe this pulls in the older version of hibernate-ogm-core. If it still doesn't work, some more details around your environment are needed: Is this Java SE or on a JJ server such as WildFly?

Gunnar
  • 18,095
  • 1
  • 53
  • 73
  • thanks for your answer, when I remove the versions I get an error building the project. for me it never worked with the maven plugin, so I go over console using "mvn eclipse:eclipse" to build an eclipse project. – Ruth Jul 17 '15 at 10:12
  • thankt @Gunnar, that was the problem. i just used the version 4.2.0 for mongoDB and it worked :) – Ruth Jul 17 '15 at 10:45
  • Which error do you get if you omit the versions in the actual dependencies? As said they should not be necessary due to the import of the BOM into your dependency management block. – Gunnar Jul 17 '15 at 12:58
  • I just had a look. As soon as I remove the version I get the message I added at my upper question. – Ruth Jul 21 '15 at 09:48