如何获取高超音速表的列表
Posted
技术标签:
【中文标题】如何获取高超音速表的列表【英文标题】:How to get list of tables in hypersonic 【发布时间】:2012-07-03 19:16:31 【问题描述】:我们在 DAO junit 测试中使用内存数据库中的超音速。
问题在于,在 Eclipse 下,每个 junit 测试都会删除并重新创建表就好了,但是当我们在 ant 中构建时,表会停留更长时间并且测试会交叉污染。
解决方案是,在拆除所有测试时,我们从该测试中使用的所有表中删除所有记录。不幸的是,我们的开发人员对维护这些记录并不神圣,突然构建中断,您必须继续搜索并销毁以删除违规记录。
如果我能找到一种从 hypersonic DB 中获取表列表的方法,那么我可以遍历这些表并删除所有记录,然后我可以将此静态方法放入每个拆卸方法中,这样就可以完成.
我们正在使用休眠,所以使用它的方法也很好。
有人吗?
【问题讨论】:
您怎么不知道您的应用程序使用了哪些表?这应该是众所周知的静态列表吧? 创建数据库需要多少时间?因为如果它不是太大的影响,您可以让每个测试创建自己的数据库实例并在拆卸时将其丢弃,并消除任何交叉污染问题。 【参考方案1】:您可能想看看java.sql.DatabaseMetaData.getTables。
【讨论】:
【参考方案2】:如果要删除架构中的所有表,可以删除架构。默认架构称为 PUBLIC(您可以重命名)。如果您删除此架构,它会自动重新创建。因此,要删除公共架构中的所有表,请使用:
DROP SCHEMA 公共级联
【讨论】:
以上是关于如何获取高超音速表的列表的主要内容,如果未能解决你的问题,请参考以下文章