gpt4 book ai didi

java - 使用 Hibernate ORM 和 OGM 结合 SQL 和 NOSQL 数据库

转载 作者:搜寻专家 更新时间:2023-10-31 20:19:53 25 4
gpt4 key购买 nike

我有一个使用 SQL Server 的应用程序。我想使用 NOSQL 存储,我决定使用图形存储,因为我的数据是高度关联的。 Neo4j 是一个选项。

我希望能够在不接触应用程序层的情况下切换数据库,比如说,只修改一些 xml 配置文件。我看过网上公开的一些示例,我发现 ORM 和 OGM 没有以相同的方式配置应用程序,每个配置文件都有自己的名称,更重要的是有自己的结构。查看每个代码会发现它们在初始化 session 的方式上也有所不同,这听起来不太符合我的想法。

我的问题是:“在不触及现有应用程序代码的情况下在两个数据库之间切换是否可能或可行——没有很大的开销?我可以添加一些东西但不触及已经存在的东西”。在 SQL 和 NOSQL 数据库之间建立纯多语言持久性是一个好主意,例如,使用 Hibernate。

在深入挖掘之前,我想听听你们的意见。我们这里有一个 Hibernate 的人吗?

最佳答案

Hibernate OGM的目标是为各种 NoSQL 数据存储提供统一的抽象。正如我们所说,该项目还很年轻,所以我不确定您是否可以开箱即用。

还有交易的问题。如果您的应用程序设计为使用 SQL 事务,那么当您切换到 NOSQL 解决方案时,情况将会发生根本性的变化。

使用抽象层有利于可移植性,但不能提供 native 查询的所有功能。 JP-QL 也有同样的问题,它只涵盖 SQL-92 ,缺乏对窗口函数或 CTE 的支持。

多语言持久性是一个很棒的特性,但请尝试使用单独的存储库,例如 Spring Data提供。从架构的角度来看,我发现这更加灵活。

关于java - 使用 Hibernate ORM 和 OGM 结合 SQL 和 NOSQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25043313/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com