JPA更新表结构 - 数据发生了什么

时间:2013-05-26 19:02:13

标签: java database jpa eclipselink entitymanager

我想知道我是否用数据更新JPA实体(持久化和提交),然后从JPA中删除或添加属性(列)数据会发生什么?是从所有实体中删除数据还是仅删除我删除的列?

此外,如果我从实体类中删除属性并且有更新表的事件应该删除一列?

我无法找到任何解释此方案的文档。

由于

1 个答案:

答案 0 :(得分:3)

JPA实现提供了在启动时自动创建或更新架构的可能性,但IMO只应在开发期间使用,在开发过程中可以毫无问题地从数据库中删除数据。

对于生产,您可以使用SQL迁移脚本甚至是迁移程序或Liquibase之类的工具来更新架构并将现有数据迁移到新架构而不会丢失任何内容。这是你应该仔细思考,设计和测试的东西,而且不能由JPA神奇地完成。