Hibernate имеет изящную небольшую функцию, которая сильно недокументирована и неизвестна.Вы можете выполнить сценарий SQL во время создания SessionFactory
сразу после создания схемы базы данных, чтобы импортировать данные в новую базу данных.Вам просто нужно добавить файл с именем import.sql
в корень пути к классам и установить create
или create-drop
в качестве свойства hibernate.hbm2ddl.auto
.
Теперь я использую его для Hibernate Search in Action, когда у меня естьначал главу запроса.Он инициализирует мою базу данных свежим набором данных для моих модульных тестов.JBoss Seam также часто использует его в различных примерах.import.sql
- это очень простая функция, но довольно полезная.Помните, что SQL может зависеть от вашей базы данных (ах переносимость!).
#import.sql file
delete from PRODUCTS
insert into PRODUCTS (PROD_ID, ASIN, TITLE, PRICE, IMAGE_URL, DESCRIPTION) values ('1', '630522577X', 'My Fair Lady', 19.98, '630522577X.jpg', 'My Fair blah blah...');
insert into PRODUCTS (PROD_ID, ASIN, TITLE, PRICE, IMAGE_URL, DESCRIPTION) values ('2', 'B00003CXCD', 'Roman Holiday ', 12.98, 'B00003CXCD.jpg', 'We could argue that blah blah');
Для получения дополнительной информации об этой функции, проверьте блог Eyal , он написал хорошую небольшую запись об этом,Помните, что если вы хотите добавить дополнительные объекты базы данных (индексы, таблицы и т. Д.), Вы также можете использовать функцию вспомогательных объектов базы данных.
Это все еще не совсем задокументировано.