0

我目前正在开发一个 servlet 主页(spring + hibernate + mysql)。我目前使用 Hibernate 属性 hibernate.hbm2ddl.auto 设置更新。这工作正常,Hibernate 创建和更新我的表。但是,我已经在多个地方读到过,不建议在生产中这样做,而且不安全。但是如果我不设置这个选项,我的表就不会创建,我真的不想在服务器上手动创建我的表。我一个人做这件事的时间有限。

这通常是怎么做的?似乎手动添加所有表是相当多的工作。

4

1 回答 1

1

在生产环境中,您通常已经拥有包含大量数据的现有表,这些数据不想丢失,并且想要迁移到新架构。Hibernate 无法自动为您执行此操作。它不知道以前在 A 列中的数据现在必须在新 B 列中。

因此,您需要创建一个迁移脚本。当然,您可以在开发中使用 Hibernate 为您生成新的模式,看看与旧模式的区别是什么,并因此创建您的脚本。但是,是的,将应用程序投入生产并进行迁移需要完成一些工作。

于 2013-03-15T10:30:44.680 回答