Hibernate OGM поверх Spring-Data действителен?

Я хочу создать проект и использовать MongoDB и Neo4J, необходимо использовать обе базы данных. Сегодняшней концепцией Hibernate OGM был запуск и поддержка всех баз данных NoSQL. Если я иду на Hibernate OGM, они использовали JPA API для реализации, и это легко для пользователей Hibernate. Если я выбираю Spring-Data, нам нужно настроить как Spring-Data MongoDB, так и Spring-Data Neo4j и использовать для этого Spring-Data API. Моя команда не понимает, какую технологию выбрать Hibernate OGM или Spring-Data. Сосредоточимся на некоторых моментах и ​​идем на Spring-Data. Очки, как показано ниже:

  1. Spring-Data — ранняя концепция, поддержку Spring-Data легко найти на онлайн-форумах, а Hibernate OGM — новая.
  2. Spring-Data имеют различные функции для баз данных NoSQL, но мы не уверены, что для Hibernate OGM предусмотрены все функции, упомянутые в этот слайд
  3. Hibernate OGM используйте запросы JPA, а запросы JPA преобразуются в соответствии с запросом поставщика NoSQL, и я думаю, что это вызывает проблемы с производительностью. Но в Spring-Data мы легко используем Cypher Queries и Mongo Template.
  4. Я также смущен тем, что Hibernate OGM имеет полную поддержку функции Graph Db, например, поддерживает атрибуты отношений?

Пожалуйста, предложите мне, для какой технологии мы должны пойти.


person Harmeet Singh Taara    schedule 05.02.2015    source источник
comment
Похоже на копию stackoverflow.com/a/23168401/18122.   -  person Oliver Drotbohm    schedule 09.02.2015
comment
возможный дубликат В чем разница между Spring Data MongoDB и Hibernate OGM для MongoDB?   -  person Oliver Drotbohm    schedule 09.02.2015


Ответы (1)


Если вы решите использовать две разные базы данных NoSQL в одном проекте, это, вероятно, потому, что вам действительно нужны их уникальные функции (геопространственные запросы в MongoDB, возможность выполнять обходы графа для Neo4j и т. д.).

Так что Hibernate OGM явно НЕ для вас. Вы можете использовать непосредственно собственный API Mongo и Neo4j. Или вы можете использовать Spring Data, который утверждает, что предоставляет согласованную модель программирования (но не единый API).

person mcoolive    schedule 10.06.2015