Я бы хотел обрезать все свои таблицы базы данных от одного интеграционного теста к другому. Каков наилучший способ сделать это с помощью 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();
}
});
(doWithSession - это небольшая оболочка, которая создает и закрывает сеанс). Я мог бы перебрать все мои сопоставленные объекты, используя отражение ... Интересно, кто-нибудь уже решил эту проблему.