例如:如果我有java DAO来处理数据库表,如果我发布Dao和他们的经理作为jar文件,如果一个依赖于这个jar的应用程序只能访问这个jar的最新版本,那么当数据库模式发生变化时,最新的jar如何处理向后兼容性。
Eample: 当Dao_1.jar发布时......数据库架构的版本为V1.0 当Dao_2.jar被释放时......数据库模式版本是v1.1
使用Dao_2.jar的应用程序如何处理数据库架构版本V1.0或与之交互?
答案 0 :(得分:0)
从技术上讲它无法应对!!例如,您只需向Dao_2实体添加一个新字段。但在数据库架构版本V1.0中,您没有该字段。因此,在运行应用程序后,所有事情都会变得混乱。您可以让您的hibernate(JPA)配置更新您的数据库架构。在此方案中,运行应用程序后,V1.0中的数据库架构将根据您的Dao_2更改为当前版本。但它有点危险。正确的方法是你总是从Dao到数据库模式。不要单独编辑应用程序域中的架构。您在应用程序数据域中进行了新的更改。然后ORM将处理所有事情,并将更新您的数据库架构。