Лучший способ усечь все таблицы с помощью гибернации?

Я хотел бы усечь все таблицы моей базы данных между одним интеграционным тестом и другим. Как лучше всего сделать это с помощью спящего режима?

В настоящее время я делаю следующее:

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 - это небольшая оболочка, которая создает и закрывает сеанс). Я мог бы перебирать все мои сопоставленные объекты, используя отражение ... Мне интересно, решил ли кто-нибудь уже эту проблему.

5
задан ripper234 26 November 2010 в 13:22
поделиться