如果我们从数据库更改外键名称,它如何影响休眠?

时间:2016-04-26 08:02:27

标签: java mysql hibernate

我正在研究一个使用Hibernate和MySQL的遗留应用程序。在我的一个数据库表中,我发现了重复的外键约束。名称如下:

  • FK3EBE45E8C4027E24
  • FK3EBE45E8F5ADD75E

现在我想删除一个索引并仅从数据库重命名另一个索引。是否会对hibernate功能产生任何影响?

2 个答案:

答案 0 :(得分:1)

  

对Hibernate代码没有任何影响。只有当您更改表的结构 - 添加/删除/重命名列时,更改数据类型,然后才会产生影响,因为您必须对DTO进行更改。 MySQL索引是Hibernate的抽象。 Hibernate并不关心是否有索引。它将创建一个查询并发送到数据库。

答案 1 :(得分:0)

重命名约束只会影响自动架构更新(创建)。 Hibernate将尝试按名称删除约束并生成异常。这不是问题(对于Hibernate 5,不了解其他版本),架构更新不会停止。

如果您不使用自动架构更新,则不会有任何问题。