Java DAO如何支持旧的数据库模式版本



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

示例:当Dao_1.jar被释放时...数据库架构的版本为 V1.0当Dao_2.jar被释放时.....数据库架构版本为 v1.1

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

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

最新更新