繁体   English   中英

如何使用HQL / Hibernate验证我的所有表都为空?

[英]How can i verify that all my tables are empty with HQL/Hibernate?

我有一个很大的功能测试套件。 每个测试都是独立的。 但是,有时会出现问题,这些测试之一会泄漏(在清除数据之前发生异常),随后的某些测试可能会失败。

因此,在每个测试中我要做的第一件事是检查数据库是否真的为空。 知道破损是由于泄漏而不是回归是有帮助的。

我想知道是否可以通过单个请求执行此操作,因为我想避免执行和维护以下操作:

sessionFactory.getCurrentSession().createQuery("Select a From A a").list().isEmpty()
...
sessionFactory.getCurrentSession().createQuery("Select z From Z z").list().isEmpty()

我为mysql找到了这个: MySQL数据库中非空表的列表,但这是特定的。

谢谢 :)

我要做的是将我的“ hibernate.hbm2ddl.auto”设置为在hibernate.cfg.xml中创建,并在每次测试中使用

sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();

这样,为每个测试重新创建数据库

怎么样

session.createQuery("select 1 from table").setMaxSize(1).list().isEmpty()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM