gpt4 book ai didi

java - 如何摆脱已开发的具有 Oracle native 查询的应用程序的数据库依赖性?

转载 作者:行者123 更新时间:2023-12-01 10:03:18 25 4
gpt4 key购买 nike

我有一个具有庞大代码库的应用程序,它使用 Oracle 数据库。我想开发一个 hibernate 应用程序,它可以与上述应用程序的传入和传出请求进行交互,而无需任何数据库依赖。

就像如果我想将数据库更改为 mysql 或 postgresql 它不会有任何问题。这实用吗?能做到吗?寻求帮助。

最佳答案

就实用性而言,应用程序很少更改数据库。虽然这个想法听起来不错,但并不经常实现,而且通常使用内置数据库功能所带来的好处有时会超过保持数据库独立性的工作。

就其实现而言,它当然可以在 SQL 数据库之间实现。从 SQL 到 noSQL 有点棘手,因为他们正在 JPA 中支持它们。如果对此感兴趣,请查看 Hibernate OGM 。如果您想真正保留它以便可以轻松切换数据库,您需要坚持 JPA 标准。请参阅this从数据库生成符合 JPA 的实体。只要您仅使用 JPA,您就可以轻松地在提供 JPA 实现的数据库之间切换。然后,您只需包含正确的实现集方言即可切换。

如果您有权更改当前应用程序,那么使用 JPA 代码更新包含硬编码查询的每个操作可能会更容易。如果您进行单元测试,也会使这个过程变得更加容易。

如果您想编写新内容,但不想更改前端,则需要处理前端表单提交的任何操作。确保它们在相同的路径和相同的 HTTP 方法(GET、POST、PUT 等)中可用,这些方法采用相同的参数,并返回与您今天应采取的操作相同的结构。

这两种方法都可以让您逐个采取行动来取代它们。不过,在编写新内容时,如果新应用程序和旧应用程序不在同一域中或者涉及身份验证/授权,则一次替换它们会有点困难。

祝你好运并致以最美好的祝愿!

关于java - 如何摆脱已开发的具有 Oracle native 查询的应用程序的数据库依赖性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36645044/

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