Тестирование гибернации с помощью DBUnit без файлов hbm

Я пытаюсь протестировать приложение, которое использует спящий режим с DBUnit. Мои тесты выполняются на базе данных в памяти со стратегией создания-удаления.

Я продолжаю получать исключение NoSuchTableException, когда DBunit пытается передать базу данных. Во всех примерах, которые я нашел в сети для этой комбинации (Hibernate и DBUnit), структура базы данных была объявлена ​​в файлах * hbm.

Обязательно ли иметь файлы hbm для интеграции Hibernate с DBUnit?

Ваше здоровье!


person Felipe Reis    schedule 23.08.2013    source источник
comment
Вы наконец справились с проблемой? Пожалуйста, поделитесь подробностями   -  person Aleksei Egorov    schedule 12.05.2016


Ответы (1)


Вам не нужны файлы hbm.

Что происходит, так это то, что DBUnit создает БД в памяти, но это чистая БД. Таким образом, невозможно загрузить данные.

Как часть вашего установочного кода, вам необходимо инициализировать Hibernate перед загрузкой данных. Вы можете сделать это, вызвав select 1 через Hibernate API. Это заставит Hibernate создать таблицы, а затем вы вызовете настройку DBUnit, которая затем заполнит их.

person Mark Robinson    schedule 23.08.2013