1

我们在 DAO junit 测试中使用内存数据库中的超音速。

问题是在 Eclipse 下,每个 junit 测试都可以很好地删除并重新创建表,但是当我们在 ant 中构建时,表会停留更长时间并且测试会交叉污染。

解决方案是,在拆除我们所有的测试时,我们从我们在该测试中使用的所有表中删除所有记录。不幸的是,我们的开发人员对维护这些内容并不神圣,突然间构建中断,您必须继续搜索并销毁以删除违规记录。

如果我能找到一种方法从 hypersonic DB 中获取表列表,那么我可以遍历这些表并删除所有记录,然后我可以将此静态方法放入每个拆卸方法中,这样就可以完成。

我们正在使用休眠,所以使用它的方法也会很好。

任何人?

4

2 回答 2

1

您可能想看看java.sql.DatabaseMetaData.getTables

于 2012-07-03T20:20:57.990 回答
0

如果要删除模式中的所有表,可以删除模式。默认架构称为 PUBLIC(您可以重命名)。如果您删除此架构,它会自动重新创建。因此,要删除公共模式中的所有表,请使用:

DROP SCHEMA 公共级联

于 2012-07-03T20:30:33.750 回答