簡體   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