Можно ли подключить реализацию JPA к конкретной версии Neo4j?

У меня есть проект Java, в котором используется встроенная база данных Neo4j (NoSQL) версии 2.0.0.

Мне нужно перенести эти данные для традиционной реляционной базы данных (SQL). Я подумал, что для этой работы может помочь реализация JPA.

Я нашел эти три проекта:

  • Гибернация OGM
  • DataNucleus
  • Кундера

Но я не могу найти реализацию JPA, совместимую с версией Neo4j 2.0.0. Kundera поддерживает только Neo4j 1.8.1. Каждый дистрибутив Hibernate OGM поставляется со своей собственной версией Neo4j (ogm-neo4j-4.2.0 содержит neo4j-2.1.8 и ogm-neo4j-4.1.2). приносит neo4j-2.1.6). То же самое происходит с DataNucleus с разными номерами версий.

Есть ли способ найти реализацию JPA, совместимую с конкретной версией Neo4j 2.0.0? Или я борюсь с ветряками и мне надо обновить свою версию Neo4j?


person Adrián Paredes    schedule 14.06.2015    source источник
comment
Вы также можете ознакомиться с новым github.com/neo4j/neo4j-ogm. который используется в качестве основы для spring-data-neo4j, но сам по себе не имеет весенних зависимостей.   -  person Michael Hunger    schedule 14.06.2015
comment
@Michael Hunger, но это не JPA (о чем просит вопрос)?   -  person Neil Stockton    schedule 15.06.2015


Ответы (1)


У меня есть пример приложения, с которым я играл некоторое время, и я использовал DataNucleus v4.1 с Neo4j, который он использует по умолчанию (2.1.3 IIRC). Я только что попробовал это с v2.0.0, и у меня все работает нормально. Просто поместите нужную версию neo4j в CLASSPATH и, при необходимости, исключите ту, которая может быть извлечена из pom DataNucleus (при использовании Maven). API Neo4j кажется примерно одинаковым между версиями 2.0 и 2.1, поэтому нет реальной причины, по которой это не так.

person Neil Stockton    schedule 14.06.2015
comment
Спасибо! Я пытался сделать то же самое с Hibernate OGM и не работал. Сейчас я пытаюсь использовать учебный пример DataNucleus: github.com/datanucleus/samples -jpa/tree/master/tutorial, но у меня проблема с менеджером транзакций. - person Adrián Paredes; 14.06.2015
comment
Эврика! Оно живое! Пример DataNucleus содержит Neo4j-1.9.4. Поменял на 2.0.0 и все работает! - person Adrián Paredes; 14.06.2015