我无法使用休眠更新数据库表吗?

时间:2018-12-08 11:04:44

标签: java sql database hibernate jpa

我想通过添加新表来更新数据库架构。但是休眠什么也没做。每次更改属性以创建时,我的数据库仍然相同。但这不会改变任何东西。这是第一次发生。 我添加了注释以及所有需要的内容,但没有任何反应。

2 个答案:

答案 0 :(得分:0)

添加休眠配置:

<prop key="hibernate.hbm2ddl.auto">create</prop>

答案 1 :(得分:0)

首先请确保您的持久性文件在类中添加了Entity类

<Class>path.EntityName </Class>

第二,持久性文件还应该设置update属性:

<property name="hibernate.hbm2ddl.auto" value="update"/> 

但是,在以下情况下,以上属性无效:

  • hibernate.hbm2ddl.auto“ value =” update“将添加一个尚不存在的数据库列,但不会删除已在您的实体中删除/不再存在的数据库列。
  • hibernate.hbm2ddl.auto“ value =” update“不会修改数据库列 已经创建的。
  • hibernate.hbm2ddl.auto“ value =” update“不会修改现有的表列定义。

您将需要备份表数据,将其删除并重新启动应用程序,以使该表的架构与您的实体保持同步。然后重新加载您的数据。或者,您也可以通过对数据库表进行SQL查询来手动完成此操作。