如何在每次 Junit 测试后从 H2 table 中删除已提交更改的行

How to delete rows from H2 table with commited changes after each Junit test

我正在使用 H2 内存数据库对与数据库的交互进行单元测试。

我需要清除@After 中提交的更改,以便表保留但所有行都被擦除(因此我不能只删除表)。我的数据库也有很多外键,这使得我什至一个一个地擦除对象也很麻烦,因为我必须按特定顺序进行。

有没有什么方法可以在不删除表并且最好不一个一个地删除对象的情况下清理数据库中的行?

要清理行,您可以使用 H2 TRUNCATE TABLE 数据定义命令。

您可以使用 H2 的 SET REFERENTIAL_INTEGRITY.

暂时禁用检查外键约束