java - 在 hibernate 中更新数据库模型

标签 java mysql hibernate

我有一个简单的 MySQL 数据库,其中包含一些我使用 hibernate 框架映射到 Java 类的有效数据。

现在我更改了 MySQL 中的一些数据库表字段并想更新我的模型(例如 java 类)。

我不想重新映射我的数据库,因为我已经对需要它们的模型类进行了一些更改。

有没有办法在不丢失任何数据的情况下更新模型?

我使用了 Netbeans 8.0 和 Hibernate 4.x。

是否有一个向导可以像在 Netbeans 的 Entity Framework (Visual Studio) 中更新模型时那样执行此操作?

谢谢。

最佳答案

作为检查您的实体字段分别对应于您的的快速而直接的工具,您可以尝试 hbm2ddl.auto = validate。但这似乎并没有检查关系/约束 - 请参阅 here 。 AFAIK 没有简单的方法可以做到这一点:我能想到的唯一方法是使用 Hibernate Tools reverse engineering - 有几个步骤可以完成这个和一些在线指南,如果你谷歌它。理想情况下,您希望在数据库的“之前”和“之后”版本上执行此操作,以在两个不同的文件夹中生成两组实体,然后比较这些文件夹之间的更改(使用您最喜欢的文本差异工具,例如 WinMerge ) .然后最后手动将它们合并到您现有的代码库中。

为了避免将来重复做这种事情,您可能需要考虑设置一些流程来很好地记录正在进行的数据库架构更改和/或确保数据库和实体始终保存在同步。

关于java - 在 hibernate 中更新数据库模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27922667/

相关文章:

java.lang.ArithmeticException : Negative exponent in jruby

java - HQL - 删除并出现 JOIN 错误

php - Phinx迁移SQLSTATE[42S01] : Base table or view already exists:

java - Oracle 通过 JPA 排序,数字在前

java - 如何应用 Hibernate 补丁

java - 如何为android ZBar QrCode Reader自定义CameraView

java - 运行时异常 : "Stub!" without any other information

java - Inject 2 Data sources into spring+hibernate application always throw no transaction is in progress 错误

java - 我如何解决在 xml 文件上添加图像以进行 Android 开发的问题?

php - 按记录数从数据库顺序中选择