Вы можете создавать таблицы из объявлений сущностей, используя Dali JPA Tools.Пока ваш проект настроен с использованием фасета JPA, у вас будет доступ к этим инструментам.Создать таблицы из сущностей так же просто, как щелкнуть правой кнопкой мыши ваш проект, а затем просмотреть контекстное меню, как показано на снимке экрана ниже:

Обратите внимание, что это предпочтительнеесоздавать таблицы таким способом или вручную кодировать операторы DDL.Не рекомендуется, чтобы поставщик JPA создавал таблицы для вас, так как вы потеряли бы возможность помещать определения таблиц под контроль версий.Они также неоптимальны и не предназначены для использования в производстве .Даже для небольших проектов это не стоит проблем, так как возможности поставщика JPA (EclipseLink или Hibernate) генерировать точно настроенные операторы DDL весьма ограничены.В любом случае, если вы хотите, чтобы поставщик JPA выполнял эту работу за вас, подробности следующие:
Если вашим поставщиком JPA является EclipseLink :
Ваша настойчивостьXML-файл должен выглядеть следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<persistence ...>
<persistence-unit ...>
...
<properties>
<!-- valid values include 'none, 'drop-and-create-tables' and 'create-tables' -->
<property name="eclipselink.ddl-generation" value="create-tables"/>
<!-- valid values include 'both', 'database' and 'sql-script' -->
<property name="eclipselink.ddl-generation.output-mode" value="database"/>
...
</properties>
</persistence-unit>
</persistence>
Вы можете настроить эти значения из Eclipse, открыв файл persistence.xml
с помощью XML-редактора Persistence:

Подробную информацию о свойствах и значениях генерации схемы EclipseLink можно найти в EclipseLink wiki .
Если ваш поставщик JPA - Hibernate :
Ваш файл persistence.xml должен выглядеть следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<persistence ...>
<persistence-unit ...>
...
<properties>
<!-- valid values include 'validate', 'update', 'create' and 'create-drop' -->
<property name="hibernate.hbm2ddl.auto" value="create-drop"/>
...
</properties>
</persistence-unit>
</persistence>
В отличие от значений EclipseLink, значения для Hibernate не могут быть сконфигурированы из XML-редактора Persistence Eclipse.Вы можете найти другие свойства Hibernate в документации Hibernate Core .
Также обратите внимание, что в случае EclipseLink и Hibernate вам может потребоваться указать дополнительные свойства, такие как конфигурация пула соединений.и диалект базы данных, чтобы помочь генераторам схемы.