我想在一个集成测试与另一个集成测试之间截断所有数据库表.使用hibernate执行此操作的最佳方法是什么?
目前我这样做:
public void cleanDatabase() {
doWithSession(new Action1<Session>() {
@Override
public void doSomething(Session session) {
SQLQuery query = session.createSQLQuery("truncate table stuff");
// todo - generify this to all tables
query.executeUpdate();
}
});
Run Code Online (Sandbox Code Playgroud)
(doWithSession是一个创建和关闭会话的小包装器).我可以使用反射迭代我所有的映射对象......我想知道是否有人已经解决了这个问题.