JPA 2.1-Schemagenerator konfigurieren

Im Feature jpa-2.0, das auf OpenJPA basiert, können Sie DDL (Data Definition Langugage, Datendefinitionssprache) generieren oder direkt mit der Datenbank interagieren, um mit dem Tool "SchemaMapper" Tabellenschemas auf der Basis der JPA-Entitätsdefinition zu definieren. Im Feature jpa-2.1, das auf EclipseLink basiert, können Sie das neue Feature "Schema Generator" verwenden, das der JPA 2.1-Spezifikation hinzugefügt wurde und ähnliche Funktionen wie das OpenJPA-Tool "SchemaMapperÄ" hat.

Informationen zu diesem Vorgang

Wenn Sie ähnliche Funktionen wie die im OpenJPA-Tool "SchemaMapper" bereitgestellten benötigen, können sie das Feature "Schema Generator" aus der JPA 2.1-Spezifikation konfigurieren.

Vorgehensweise

  1. Geben Sie in der Persistenzeinheitendefinition in der Datei persistence.xml die Datenbankaktionseigenschaft mit einem der gültigen Werte an: none, create, drop oder drop-and-create. Jeder Wert entspricht der für die Datenbank ausgeführten Aktion. Das folgende Beispiel bewirkt, dass die Tabellen, die den in der Persistenzeinheit angegebenen Entitäten entsprechen, gelöscht und stattdessen neue Tabellen erstellt werden.
    <persistence-unit name="pu">
            <properties>
                <property name="javax.persistence.schema-generation.database.action"
            value="drop-and-create" />
    ...
            </properties>
    </persistence-unit>
  2. Geben Sie die Scriptaktionseigenschaft mit einem der gültigen Werte an: none, create, drop oder drop-and-create. Wenn Sie einen anderen Wert als none angeben, müssen Sie auch eine Zieleigenschaft angeben. Wenn Sie die Scriptaktion create angeben, die die Erstellungsanweisungen für die Entitätsdefinition generiert, müssen Sie eine entsprechende Eigenschaft für die Zielerstellung (create target) mit einer Zieldatei angeben, in die die Anweisungen geschrieben werden.
    <persistence-unit name="pu">
            <properties>
                <property name="javax.persistence.schema-generation.scripts.action"
          value="drop-and-create" />
                <property name="javax.persistence.schema-generation.scripts.create-target"
            value="createTargetFile.ddl"/>
                <property name="javax.persistence.schema-generation.scripts.drop-target"
          value="sampleDrop.ddl"/>
    ...
            </properties>
    </persistence-unit>

Symbol das den Typ des Artikels anzeigt. Taskartikel

Dateiname: twlp_config_jpa21_schemgen.html