Как создать таблицу из сущностей - PullRequest
1 голос
/ 15 апреля 2011

В настоящее время я работаю над проектом шва с использованием инструментов eclipse jpa; Можно ли автоматически создавать таблицы SQL из моих определений сущностей? Если да, то как мне этого добиться?

1 Ответ

1 голос
/ 15 апреля 2011

Это зависит от используемой вами реализации JPA. С Hibernate вы можете указать 'create' или 'update' в свойствах hibernate.hbm2ddl.auto в persistence.xml:

<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0">
  <persistence-unit name="yourPersistenceUnit" transaction-type="JTA">
    <description>Your Persistence Unit</description>
    <jta-data-source>java:/DefaultDS</jta-data-source>
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <properties>
      <property name="hibernate.hbm2ddl.auto" value="create"/>
      <property name="hibernate.show_sql" value="true"/>
      <property name="hibernate.format_sql" value="true"/>
      <property name="hibernate.transaction.flush_before_completion" value="true"/>
      <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
    </properties>
  </persistence-unit>
</persistence>

Возможные значения для hibernate.hbm2ddl.auto свойства:

  • create: создавать таблицы и индексы базы данных при запуске
  • create-drop: создавать таблицы и индексы базы данных при запуске и удалять при завершении работы
  • update: при запуске приложения проверьте схему базы данных и при необходимости обновите ее, добавив отсутствующие таблицы и столбцы
  • validate: при запуске приложения проверяется схема базы данных и происходит сбой при отсутствии какой-либо таблицы или столбца.
...