gpt4 book ai didi

jpa - 从 JPA 迁移回简单的 SQL

转载 作者:行者123 更新时间:2023-12-04 08:26:45 24 4
gpt4 key购买 nike

经过多年在具有大约 100 个表的生产应用程序中使用 TopLink/EclipseLink 进行开发,我们认为足够了,JPA 不值得增加其实际操作的复杂性和不确定性,并且 SQL(使用一些像 DBUtil 之类的包装器)像那样)可以为我们做恰到好处的工作。

您能否建议将一个相当大的 JPA 应用程序迁移到 JDBC/SQL 以使 JPA 仍然运行(即在具有 GUI 的 web 应用程序中)但是这将允许我们仍然从“降级”到 JDBC 开始?

我们有实体和 DAO,但我真正担心的是 JPA 实体缓存(主要的) - 是否可以完全禁用它,以便 JPA 充当简单的 connection.begin();条目... connection.commit();在此期间,直到我们永远摆脱它?

最佳答案

一个想法是引入存储库层。您引入存储库并使用 JPA 快速实现核心 api,可能会重用大量现有的数据访问代码。

关键是在您开始重构整个应用程序以直接使用存储库而不是 JPA 的同时。

然后,另一个团队可以处理使用纯 jdbc 实现的存储库,并针对 jpa 实现测试 jdbc 实现 - 因为 jdbc 和 jpa 存储库实现相同的接口(interface)集,一致性测试是显而易见的。

总而言之,以下情况同时发生:

  • 你设计你的接口(interface)层来满足实际业务代码的需求
  • 您使用现有 jpa 代码
  • 实现存储库
  • 您重构业务代码以使用存储库
  • 您使用 jdbc 实现相同的存储库并实现一致性测试

  • 仅此而已。当有足够的信心时,您只需将存储库实现切换到 jdbc 存储库并保留您的 jpa 存储库仅用于向后兼容性测试。

    关于jpa - 从 JPA 迁移回简单的 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15848953/

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