任何人都可以请清楚我是否使用MongoDB Annotations或使用Hibernate实现MongoDB将是一致的。使用注解和Hibernate配置MongoDB的差异OGM
0
A
回答
0
Disclamair:我是Hibernate OGM开发人员之一,所以我会尝试给Hibernate OGM一些东西。
不确定你的意思是一致的,但我会尽力回答。
Hibernate OGM为NoSQL解决方案提供Java持久性(JPA)支持。它重用了Hibernate ORM的引擎,但将实体持久化到NoSQL数据存储中,而不是关系数据库。
有这种方法的几个好处:
它很容易,如果你已经熟悉JPA或者Hibernate ORM并不太熟悉NoSQL的世界,开始一个项目。 Hibernate OGM将已经能够应用基于映射的最佳实践和优化。
可移植性,您将能够从MongoDB切换到另一个数据存储(不限于NoSQL),仅更改配置属性。如果现有应用程序使用Hibernate ORM连接到数据库,那么它现在也可以连接到NoSQL数据存储。它
工具,因为API是相同的Hibernate的ORM,你将能够重用现有的工具或库。
它将能够进行一些优化,如分组操作和减少对数据存储的调用。
虽然主要目标是提供一个JPA实现,你也可以执行本机查询和我们的目标是提供方法,如果需要访问特定的数据库功能。
主要缺点是JPA的一些概念不容易映射到NoSQL世界:例如交易。虽然您可以访问事务分区方法,但您将无法在本地不支持事务的数据存储上回滚(在这种情况下,事务将用于对操作进行分组,并尝试优化对db的调用次数) 。另外,如果你的数据集本质上是非领域模型为中心的,那么Hibernate OGM不适合你。
你是一致的意思是什么? – Davide