2015-08-04 4 views
2

Я пытаюсь использовать Neo4j с Hibernate-OGM. Что-то не так с версиями. Я либо получаю сообщения об ошибках, как версия в базе данных, как ожидается, будет что-то вроде v0.A.1, но это v0.A.5 вместо этого или NoSuchMethodError или что-то подобное при развертывании, потому что версии hibernate, или не совпадают друг с другом (или с базой данных) ,Какую версию зависимостей Hibernate-OGM Neo4j использовать?

Единственное, что кажется уверенным, что версия базы данных Neo4j должна быть 2.1.x, поскольку более новые версии не поддерживают JTA.

Пример для исключения:

java.lang.NoSuchMethodError: org.neo4j.io.pagecache.impl.SingleFilePageSwapperFactory: method <init>()V not found 

или

java.lang.IncompatibleClassChangeError: Implementing class 

или

java.lang.NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index; 
+0

Не должен ли быть какой-то пример кода или тестов, имеющих правильную версию комбо в репозитории hibernate-ogm? –

+0

Как я вижу, они сосредоточились на развитии JBoss/Wildfly. Я думаю, именно поэтому у них нет конкретных настроек для версий спящего режима, например. (Или я просто не могу их найти.) Я застрял с Glasshfish, который использует EclipseLink, а не Hibernate, поэтому мне тоже нужно выяснить эту часть. (И когда эта часть кажется прекрасной, другие части разваливаются.) – ytg

ответ

1

Hibernate OGM 4.2.0 Заключительные работы с Neo4j 2.1.8: https://github.com/hibernate/hibernate-ogm/blob/c801f17640d5c687a27ab57e2b2dd0aa0cd89fff/bom/pom.xml#L30

Вы можете f Ind все версии в maven BOM:

  • Hibernate ORM 4.3.9.Final
  • Neo4j 2.1.8

Обратите внимание, что в следующей версии Hibernate OGM будет использовать Neo4j 2.2.3 и спящий режим ORM 5.x.

Надеюсь, эта помощь.

+0

С этими номерами версий я все еще получаю исключение 'java.lang.NoSuchMethodError: javax.persistence.Table.indexes()', когда я пытаюсь развернуть приложение в Стеклянная рыба. Есть ли в игре другой компонент, который я не рассматривал? – ytg

+0

Я полагаю, что библиотека, которую вы используете на пути к классам для JPA API, не соответствует спецификации 2.1 – Davide