Обе единицы сохраняемости, определенные в листинге 4.10, загружают сценарий insert.sql (с использованием свойства javax.persistence.sql-loadscript-source). Это означает, что сценарий, показанный в листинге 4.11, выполняется для инициализации базы данных и вводит информацию о трех книгах.
INSERT INTO BOOK(ID, TITLE, DESCRIPTION, ILLUSTRATIONS, ISBN, NBOFPAGE,
·················PRICE) values (1000, Изучаем Java EE 6',
·················'Лучшая книга о Java EE', 1, '1234–5678', 450, 49)
INSERT INTO BOOK(ID, TITLE, DESCRIPTION, ILLUSTRATIONS, ISBN, NBOFPAGE,
·················PRICE) values (1001, 'Изучаем Java EE 7', 'Нет, это лучшая',
·················1, '5678–9012', 550, 53)
INSERT INTO BOOK(ID, TITLE, DESCRIPTION, ILLUSTRATIONS, ISBN, NBOFPAGE,
·················PRICE) values (1010, 'Властелин колец', 'Одно кольцо
·················для управления всеми остальными', 0, '9012–3456', 222, 23)
Если вы внимательно посмотрите на интеграционный тест BookIT (метод shouldFindJavaEE7Book), то увидите, что в случае с ним ожидается, что в базе данных будет идентификатор Book в виде 1001. Благодаря инициализации базы данных соответствующие действия предпринимаются до выполнения тестов.
Компиляция и тестирование с использованием Maven
У нас есть все составляющие для компиляции и тестирования сущности перед выполнением приложения Main: сущность Book, интеграционный тест BookIT и единицы сохраняемости, которые привязывают эту сущность к базе данных Derby. Для компиляции этого кода вы воспользуетесь Maven вместо того, чтобы прибегать непосредственно к команде компилятора javac. Вам сначала потребуется создать файл pom.xml, описывающий проект и его зависимости вроде JPA и Bean Validation API. Вам также придется проинформировать Maven о том, что вы используете Java SE 7, сконфигурировав maven-compiler-plugin, как показано в листинге 4.12.
·········xmlns: xsi="http://www.w3.org/2001/XMLSchema-instance"
·········xsi: schemaLocation="http://maven.apache.org/POM/4.0.0
·········http://maven.apache.org/xsd/maven-4.0.0.xsd">
··
··
····
····
····
··
··
··
··
··
····
······
······
······
····
····
······
······
······
····
····
······
······
······
····
····
······
······
······
······
····
····
······
······
······
······
····
··
··
····
······
········
········
········
········
··········
··········
········
······
······
········
········
········
········
··········
············
············
··············
··············
············
··········
········
······
······
········
········
········
········
··········
············
··············
············
··········
········
········