Java 在删除数据行休眠之前,检查是否在其他表中使用了外键
我有以下表格结构: table A --------- id | name table B -------------- id | x | y | z table B (id) : references table A (id) 表A --------- id |名称 表B -------------- id | x | y | z 表B(id):参考表A(id) 我可以修改Java 在删除数据行休眠之前,检查是否在其他表中使用了外键,java,mysql,hibernate,Java,Mysql,Hibernate,我有以下表格结构: table A --------- id | name table B -------------- id | x | y | z table B (id) : references table A (id) 表A --------- id |名称 表B -------------- id | x | y | z 表B(id):参考表A(id) 我可以修改表A的名称,即使表B中存在表A id的数据, 因为它不是外键 现在,如果表A的id在其他表中有记录,我想限制对表A的
表A的名称
,即使表B中存在表A id的数据,
因为它不是外键
现在,如果表A
的id
在其他表中有记录,我想限制对表A
的name变量的修改。
我是否需要查询将表A
的id
用作外键的每个表,或者在Hibernate或MySQL中有任何其他选项。您可以通过对外键引用的键的约束在数据库中正确执行此操作。然后数据库将自动执行您指定的操作。您能详细说明一下吗more@HKumar定义外键时,SQL具有约束选项,该外键确定在定义该外键的外部表中更新或删除该外键时会发生什么。您可以将其设置为将更新/删除级联到当前表中,或者限制操作,使其导致违反约束的错误而不是成功,或者在当前表中将外键值设置为null,或者不执行任何操作,在这种情况下,外键不再有效。你需要彻底调查这一切。