JavaEE部署:如何在实体/数据库结构更改后保留数据?

时间:2013-05-30 16:06:12

标签: database java-ee deployment entity

我有一个正在运行的JavaEE Web应用程序(WAR),其实体将在下一版本的应用程序中进行更改。这当然也意味着底层数据库中的结构变化。

在应用程序重写后保留旧数据并迁移到新Entity结构的最佳方法是什么?

重新部署之前是否必须手动更改数据库结构?还是有其他方法吗?

2 个答案:

答案 0 :(得分:1)

在EclipseLink 3.4中,向persitence.xml添加持久性属性。

<property name="eclipselink.ddl-generation" value="create-or-extend-tables" />

<property name="eclipselink.ddl-generation.output-mode" value="database" />

此功能允许创建数据库表并修改任何已存在的表,以便它们与对象模型匹配。

答案 1 :(得分:0)

您希望版本控制升级并使用您的代码库降级db脚本。您的升级脚本应该能够确保您现有数据的安全性。在应用更改之前,您应该始终进行备份。试试liquibase。