【发布时间】:2012-02-22 21:05:26
【问题描述】:
这很简单——我怎样才能让我的数据库(我正在使用 Derby)提交实体中的更改(我的意思是更改列名、约束等)?因为我发现当我更改实体属性中的某些内容时,我的数据库仍然保持不变。如果有任何功能,我也在使用 Netbeans。
我现在知道 hibernate.hbm2ddl.auto,但我正在寻找类似的东西(例如,我不想在从实体到 DB 的结构更改期间删除日期)
【问题讨论】:
这很简单——我怎样才能让我的数据库(我正在使用 Derby)提交实体中的更改(我的意思是更改列名、约束等)?因为我发现当我更改实体属性中的某些内容时,我的数据库仍然保持不变。如果有任何功能,我也在使用 Netbeans。
我现在知道 hibernate.hbm2ddl.auto,但我正在寻找类似的东西(例如,我不想在从实体到 DB 的结构更改期间删除日期)
【问题讨论】:
你没有指定你的持久化提供者,但我假设是休眠的;您可以使用hibernate.hbm2ddl.auto 配置参数来告诉hibernate 重新创建表。见this SO question for more details。请注意,您不应在生产中使用它; see this SO question for those details.
【讨论】:
hibernate.hbm2ddl.auto 设置为update,如第二个链接中所述,但我从未尝试过。这不安全;如果您需要它用于测试/开发目的,您可以尝试使用 DBUnit; this blog post有教程。