【问题标题】:Hibernate not creating foreign key constraint on MySQLHibernate 不在 MySQL 上创建外键约束
【发布时间】:2013-01-05 06:10:12
【问题描述】:

当我的表映射完成时,我正在使用 Hibernate 和 MySQL,当我查看我的 DB 表时,它已成功创建,但它们没有外键约束,但已创建列。

当我尝试在子表中插入记录时,当我将父表中不存在的 id 放在外键列中时,也会插入该行。

我的表引擎是 innoDB。

如果我将方言更改为 MS-SQL,则使用外键约束创建表。

【问题讨论】:

  • 他们的映射代码是什么?

标签: java mysql sql-server hibernate dialect


【解决方案1】:

对不起用户,

我遇到了这个问题,实际上我的 DBA 没有获得 ALTER 命令的权限。

这就是为什么,当一个具有外键的表要创建时,首先执行 CREATE 命令,然后执行 ALTER 命令。

在我的例子中,CREATE 命令成功执行,但 ALTER 命令没有因为它的 dnt 有权限。

【讨论】:

  • 几天来我一直在努力理解为什么某些单元测试在我的案例中有效而在我的同事的案例中无效。原因是我根本没有给休眠单元测试用户正确的权限......它什么也没说,无法找出事情发生的原因。添加权限后,现在每个人的测试都失败了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-01
  • 1970-01-01
  • 2014-02-26
  • 2012-02-01
  • 2019-01-04
相关资源
最近更新 更多