首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate hbm2ddl.auto=update不更新MySQL中的列定义

Hibernate hbm2ddl.auto=update不更新MySQL中的列定义
EN

Stack Overflow用户
提问于 2013-04-12 18:26:32
回答 1查看 15.8K关注 0票数 30

我正在尝试用hbm2ddl.auto = update更新现有表。

几个表中有几个列,其中数据库列定义与实体中的声明不同。喜欢

代码语言:javascript
复制
@Column(name="mycolumn", nullable=false, length=10)
private Long mycolumn;

‘'mycolumn’bigint(20)非空默认值0

在MySQL中。

为什么hbm2ddl不更新这些东西?是否有可能强行进行这样的更新?我希望使用hbm2ddl来删除列的默认值并更改类型的长度。

EN

回答 1

Stack Overflow用户

发布于 2014-10-31 18:55:02

hibernate.hbm2ddl.auto" value="update不会修改现有的表列定义。做一些测试我发现:

hibernate.hbm2ddl.auto" value="update将添加一个不存在的db列。

hibernate.hbm2ddl.auto" value="update将不会删除实体中删除/不再删除的db列。

hibernate.hbm2ddl.auto" value="update不会修改已经创建的db列。

您需要备份表数据,删除它并重新启动应用程序,以使该表的模式与实体同步。然后重新加载你的数据。

请参见:

Need clarity on hibernate.hbm2ddl.auto=update

Hibernate hbm2ddl.auto possible values and what they do?

票数 49
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15978368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档