С PostgreSQL вы действительно сделаете что-то подобное для реализации своего требования:
Но, насколько мне известно, нет способа добиться этого с помощью аннотаций.
import.sql: легко импортировать данные в свои юнит-тесты
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 ( Обновленное местоположение для неработающей ссылки)), он написал хорошую небольшую запись об этом.Помните, что если вы хотите добавить дополнительные объекты базы данных (индексы, таблицы и т. Д.), Вы также можете использовать функцию вспомогательные объекты базы данных .