【问题标题】:I can't update my database tables with hibernate?我不能用休眠更新我的数据库表?
【发布时间】:2018-12-08 11:04:44
【问题描述】:

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

【问题讨论】:

  • 请提供更多细节。如果没有更多详细信息,任何人都不太可能为您提供帮助。代码片段或接线会很棒。
  • 欢迎来到 Stack Overflow,请阅读 How to Askminimal reproducible example 以增加您获得问题答案的可能性。

标签: java sql database hibernate jpa


【解决方案1】:

首先确保你的持久化文件在类中添加了你的实体类

<Class>path.EntityName </Class>

其次,持久化文件也应该有更新属性集:

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

但是,上述属性在以下情况下不起作用:

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

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

【讨论】:

  • 首先我要感谢您的评论!但是您在评论中提到的所有内容在我的项目中已经完美完成!但是我想知道这会是因为 Wildlfy 服务器吗?
【解决方案2】:

添加休眠配置:

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

【讨论】:

  • 请提供您的 pom 和应用程序属性文件
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-24
  • 2011-06-02
  • 1970-01-01
  • 1970-01-01
  • 2015-03-11
  • 1970-01-01
  • 2016-08-11
相关资源
最近更新 更多