Hibernate更新数据库架构 - desync?

时间:2013-03-15 10:37:40

标签: mysql hibernate

我们正在使用hibernate将我们的实体映射到数据库。

昨天我们遇到了DataTruncationException,因为注释字段没有用长度进行分配。

我们更改了实体并重新部署了应用程序。根据文档,Hibernate并没有改变那些很好的列。所以我们将数据库表手动从varchar(255)更改为longtext。

现在,entities属性注释为@Column(length = 5000),数据库列的格式为longtext。

每次都会出现DataTruncationException

我们决定导出所有数据,让hibernate创建一个新的数据库,然后再次插入数据。这终于奏效了,问题已经解决了。

但我们注意到,hibernate忽略了hibernate_sequence-> nextval条目并以id 1重新开始。(Hibernate在hibernate_sequnce表中创建了一个SECOND行,包含1)

删除该值并设置所需的ID后,一切似乎都没问题。

但这提出了两个问题:

  1. 为什么hibernate没有重新定义修改后的表现在与实体匹配?

  2. 为什么hibernate会在第一次运行时忽略next_val,然后重新开始?

0 个答案:

没有答案