Я использую HSQLDB для своих модульных тестов. Проблема в том, что мой проект содержит действительно много тестов и отбрасывает всю БД и воссоздает ее для каждого теста, занимает очень значительное количество времени. Я обнаружил, что новый HSQLDB содержит возможность удаления данных из схемы без существенного снижения таблиц, что значительно более эффективно. Единственная проблема заключается в том, что у меня есть две схемы и таблицы, которые относятся друг к другу. Так обычно я хотел бы написатьСхема усечения в HSQLDB
getSession().createSQLQuery("TRUNCATE SCHEMA aaa AND COMMIT").executeUpdate();
getSession().createSQLQuery("TRUNCATE SCHEMA bbb AND COMMIT").executeUpdate();
(где ааа и ГЭБ бы имена моих схем) Проблема состоит в том, что ааа содержит таблицы, которые ссылаются на таблицы в ГЭБ и ГЭБ содержит таблицы, которые ссылаются на таблицы в ааа, следовательно, всегда есть некоторые внешние ключи, которые мешают мне выполнять эти команды один за другим. Как я могу запустить его, чтобы все данные из моей БД были очищены?
спасибо, это работает :) –