Получение возвращенного массива является довольно легким использованием метода подсписка, но нет никакого простого способа, которым я знаю об удалить диапазон объектов из Списка.
Вот то, что я имею:
<T> List<T> split(List<T> list, int i) {
List<T> x = new ArrayList<T>(list.subList(i, list.size()));
// Remove items from end of original list
while (list.size() > i) {
list.remove(list.size() - 1);
}
return x;
}
Не совсем. Как указано в ответе, который вы связали, XML-файлы dbunit содержат данные, но не типы столбцов.
И вы действительно не хотите этого делать; вы рискуете загрязнить свою базу данных тестовыми артефактами, открывая возможность этот производственный код будет случайно полагаться на таблицы, созданные в процессе тестирования.
Необходимость сделать это настоятельно предполагает, что у вас нет адекватно определенного и написанного сценария процесса создания и обслуживания базы данных.
открытие возможности того, что производственный код будет случайно полагаться на таблицы, созданные в процессе тестирования.Необходимость сделать это настоятельно предполагает, что у вас нет адекватно определенного и написанного сценария процесса создания и обслуживания базы данных.
открытие возможности того, что производственный код будет случайно полагаться на таблицы, созданные в процессе тестирования.Необходимость сделать это настоятельно предполагает, что у вас нет адекватно определенного и написанного сценария процесса создания и обслуживания базы данных.
No. Вам нужно будет выполнить сценарий SQL с определениями таблиц в.
Как я писал в другом потоке, XML не содержит достаточно данных для создания таблицы. Я предполагаю, что вы могли бы сделать что-то страшное, например, проанализировать значения, чтобы попытаться выяснить, какие значения они содержат, но это было бы довольно хрупко. Это отличается от Hibernate тем, что аннотированные классы действительно содержат много информации о том, как выглядит база данных. Часть в аннотациях и часть в полях типов Java имеют.
Если вы используете JPA, вы обычно можете настроить поставщика JPA так, чтобы он создавал / обновлял таблицы при инициализации.
Например, для гибернации укажите свойство hibernate.hbm2ddl. auto и установите для него значение create-drop (подойдет для тестирования).
См. также: Документация Hibernate, Глава 3 Конфигурация
Однако убедитесь, что провайдер JPA первым доступ к БД;)