【问题标题】:How can Java DAO's support old database schema versionsJava DAO 如何支持旧的数据库模式版本
【发布时间】:2017-01-11 18:53:16
【问题描述】:

例如:如果我有 java DAO 来处理数据库表,如果我将 Dao 及其管理器作为 jar 文件发布,如果依赖于这个 jar 的应用程序只能访问这个 jar 的最新版本,那么当数据库模式发生变化时,最新的jar如何处理向后兼容性。

示例: Dao_1.jar 发布时...数据库架构为 V1.0 版本 Dao_2.jar 发布时......数据库架构版本为 v1.1

使用 Dao_2.jar 的应用程序如何处理或与数据库模式版本 V1.0 交互?

【问题讨论】:

    标签: spring-boot database-schema dao backwards-compatibility


    【解决方案1】:

    技术上它不能处理它!例如,您只需向您的 Dao_2 实体添加一个新字段。但在数据库模式版本 V1.0 中,您没有该字段。所以在你运行你的应用程序之后所有的事情都会变得混乱。您可以让您的休眠 (JPA) 配置更新您的数据库模式。在这种情况下,运行您的应用程序后,您的 V1.0 数据库模式将根据您的 Dao_2 更改为当前版本。但这有点冒险。正确的做法是你总是从你的 Dao 到数据库模式。不要从您的应用程序域单独编辑您的架构。您在应用程序数据域中进行了新的更改。然后 ORM 将处理所有事情并更新您的数据库模式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-07
      • 1970-01-01
      • 2014-11-10
      • 1970-01-01
      • 1970-01-01
      • 2014-02-11
      • 2011-06-25
      相关资源
      最近更新 更多