Почему ?
У меня есть большая таблица Oracle. Я хотел бы протестировать некоторые методы DAO. Для этого я использую dbunit.
Проблема
Я хотел бы извлечь подмножество существующей базы данных в виде плоского xml-файла dbunit, используя запрос sql. Пример запроса:
Select
t1.field1 as field1, t1.field2 as field2, t2.field3 as field3
From
table1 t1
Join table2 t2 on t1.fieldX=t2.fieldX
Where
t1.field6='value' and t2.field8='value2'
в этом случае он извлечет все записи table1 и table2, которые являются результатами запроса, а затем также извлечет все зависимости этих записей.
Что я пробовал
- тюремщик
Я протестировал Jailer, который является хорошим инструментом. Проблема в том, что я могу сделать запрос только к одной таблице и извлечь его, сохранив отношения. В моем sql-запросе есть несколько соединений и условия, которые нельзя разрешить с помощью этого программного обеспечения.
- Генерация DBUnit
Я также пытался использовать DBUnit напрямую для создания набора данных, но для этого требуется много работы, потому что мы не можем напрямую генерировать подмножество из запроса sql, а только указав последовательность небольших запросов для каждой таблицы. У меня много соединений и условий, поэтому это неприемлемое решение.
Вопрос
Как создать подмножество базы данных (и экспортировать его в плоский XML-файл dbunit), используя sql-запрос в качестве основы для экспорта?