使用springtestdbunit时如何解决违反外键约束的问题?
How to solve foreign key constraint violation issue when using springtestdbunit?
我有两个table,其中一个table A 的字段引用了table B 的字段,我使用注释@DatabaseSetup 来导入xml 文件,我在 xml 文件的数据集中写入了 table A 和 table B 的数据。当我 运行 单元测试时,它说 INSERT on table A caused a violation of foreign key constraint for key(0).
如何表达两个table之间的引用关系?
我假设您的数据集 XML 文件看起来类似于:
<TABLE_A ID="1"/>
<TABLE_B ID="1" TABLE_A_ID="1"/>
在以下情况下可能会发生此违规行为:
- 您的第二行包含一个不存在的外键引用值,例如
<TABLE_A ID="1"/>
<TABLE_B ID="1" TABLE_A_ID="2"/>
- 您的数据集文件以错误的顺序插入行,例如:
<TABLE_B ID="1" TABLE_A_ID="1"/>
<TABLE_A ID="1"/>
如果你提供你的数据集文件和 Db 单元测试我可以更具体
我有两个table,其中一个table A 的字段引用了table B 的字段,我使用注释@DatabaseSetup 来导入xml 文件,我在 xml 文件的数据集中写入了 table A 和 table B 的数据。当我 运行 单元测试时,它说 INSERT on table A caused a violation of foreign key constraint for key(0).
如何表达两个table之间的引用关系?
我假设您的数据集 XML 文件看起来类似于:
<TABLE_A ID="1"/>
<TABLE_B ID="1" TABLE_A_ID="1"/>
在以下情况下可能会发生此违规行为:
- 您的第二行包含一个不存在的外键引用值,例如
<TABLE_A ID="1"/>
<TABLE_B ID="1" TABLE_A_ID="2"/>
- 您的数据集文件以错误的顺序插入行,例如:
<TABLE_B ID="1" TABLE_A_ID="1"/>
<TABLE_A ID="1"/>
如果你提供你的数据集文件和 Db 单元测试我可以更具体