我有一个非常简单的表(id、name、parent),它代表一棵树。我想在测试这个表时使用 dbunit,所以我为 2 个节点创建了一个简单的数据集(为了便于阅读,使用 yaml 而不是 xml):
node:
- id: 1
name: default
parent: null
- id: 2
name: default-child
parent: 1
这可以正确插入,但是当尝试清理表时(我正在使用 DatabaseOperation.CLEAN_INSERT),它会导致违反约束:
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:无法删除或更新父行:外键约束失败(节点,CONSTRAINT FK_NODE.PARENT_TO_NODE.ID FOREIGN KEY (parent) REFERENCES node (id))