通过Spring-Data进行的Hibernate OGM是否有效?

Hibernate OGM over Spring-Data is valid?

我想创建一个项目,并使用MongoDBNeo4J,这两个数据库都需要使用。现在,当今的Hibernate OGM概念已经启动,并且为所有NoSQL数据库提供支持。如果我要使用Hibernate OGM,他们将使用JPA api进行实施,对于Hibernate用户而言,它很容易使用。如果我要使用Spring-Data,我们需要同时配置Spring-Data MongoDBSpring-Data Neo4j并为此使用Spring-Data api。我的团队对于使用Hibernate OGMSpring-Data的哪种技术感到困惑。我们专注于某些点,并选择Spring-Data。要点如下:

  • Spring-Data是一个早期概念,在线论坛上很容易提供对Spring-Data的支持,但是Hibernate OGM是新的。
  • Spring-Data具有NoSQL数据库的各种功能,但是对于Hibernate OGM,我们不确定是否提供了此幻灯片中提到的所有功能。
  • Hibernate OGM使用JPA查询,并且JPA查询根据NoSQL供应商查询进行转换,我认为这会导致性能问题。但是在Spring-Data中,我们可以轻松地使用Cypher QueriesMongo Template
  • 我也对Hibernate OGM完全支持Graph Db功能(如维护关系属性)感到困惑?
  • 请建议我需要使用哪种技术。


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

    因此,hibernateOGM显然不适合您。您可以直接使用Mongo和Neo4j的本地API。或者,您可以使用声称提供一致的编程模型的Spring Data(但不能提供单个API)。