2

我想创建一个项目并使用MongoDBand Neo4J,两个数据库都需要使用。现在,今天的Hibernate OGM概念是启动并支持所有 NoSQL 数据库。如果我愿意,Hibernate OGM他们会使用 JPA apis 来实现,这对于 Hibernate 用户来说很容易使用。如果我选择 Spring-Data,我们需要同时配置Spring-Data MongoDBSpring-Data Neo4j使用Spring-Dataapis。Hibernate OGM我的团队对我们选择哪种技术感到困惑Spring-Data。我们专注于一些点,然后去争取Spring-Data。要点如下:

  1. Spring-DataSpring-Data是一个早期的概念,在线论坛上很容易提供对的支持,但Hibernate OGM它是新的。
  2. Spring-Data具有 NoSQL 数据库的各种功能,但对于 Hibernate OGM,我们不确定是否提供了本幻灯片中提到的所有功能。
  3. Hibernate OGM使用 JPA 查询和 JPA 查询根据 NoSQL 供应商查询进行翻译,我认为这会导致性能问题。但是在 Spring-Data 中,我们很容易使用Cypher QueriesMongo Template.
  4. 我也很困惑Hibernate OGM是否完全支持 Graph Db 功能,比如维护关系属性?

请建议我采用哪种技术。

4

1 回答 1

2

如果您选择在同一个项目中使用两个不同的 NoSQL 数据库,可能是因为您确实需要它们的 uniq 功能(MongoDB 上的地理空间查询、能够为 Neo4j 执行图遍历等等)。

所以 Hibernate OGM 显然不适合你。您可以直接使用 Mongo 和 Neo4j 的原生 API。或者您可以使用声称提供一致的编程模型(但不是单个 API)的 Spring Data。

于 2015-06-10T18:07:50.053 回答