2015-07-15 1 views
0

Я просто написал тестовую программу для нескольких баз данных. Он основан на hibernate vor реляционных базах данных и hibernate-ogm для баз данных NoSQL.hibernate-ogm - 'cassandra_experimental' не является действительным провайдером хранилища данных короткое имя

на данный момент я поддерживаю mysql, postgresql и MongoDB. Теперь я хотел бы попробовать драйвер Кассандрой, но я получаю сообщение об ошибке:

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

Я использую документацию гибернации docs.jboss.org

Кто-нибудь уже использовал cassandra и может дать здесь несколько советов?

Я ценю любой ответ :)

PS: больше информации: Я использую Windows 7 клиент и сервер Ubuntu 14.04 в виртуальной машине. на моем клиенте я использую eclipse kepler для написания моей программы.

Издание: я Asek для сообщений об ошибках при удалении версии в 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 

ответ

0

Вы можете удалить версии спящих-ОГМ-MongoDB и спящей-ОГМ-Кассандра зависимостей, вы получите их из спецификации:

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

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

Вы указываете 4.1.3 для гибернации-ОГМ-MongoDB, может быть, это тянет в старой версии hibernate-ogm-core. Если он по-прежнему не работает, необходимы некоторые дополнительные сведения о вашей среде: Является ли это Java SE или JJ-сервером, например WildFly?

+0

спасибо за ваш ответ, когда я удаляю версии, я получаю сообщение об ошибке при создании проекта. для меня он никогда не работал с плагином maven, поэтому я перехожу через консоль, используя «mvn eclipse: eclipse» для создания проекта eclipse. –

+0

thankt @Gunnar, это была проблема. я просто использовал версию 4.2.0 для mongoDB, и она работала :) –

+0

Какая ошибка возникает, если вы опускаете версии в реальных зависимостях? Как сказано, они не должны быть необходимы из-за импорта спецификации в ваш блок управления зависимостями. – Gunnar

0

Я подозреваю, что вы не используете последнюю версию Hibernate OGM.

Экспериментальная поддержка Cassandra доступна с версии 4.2.

Это коммит, где имя поставщика хранилищу изменилось в CASSANDRA_EXPERIMENTAL: 6fd5777

+0

спасибо за подсказку, я не использовал последнюю версию, но после изменения этой проблемы все еще существует. Я помещаю в список зависимостей моего pom-файла, может быть, это помогает? –

Смежные вопросы