Befehl "wsmapping"

Mit dem Tool "wsmapping" können Top-down-Zuordnungen des Entitätsobjektmodells zum relationalen Datenbankmodell vorgenommen werden. Mit dem Tool "wsmapping" können Sie Datenbanktabellen erstellen.

Syntax

Vor der Ausführung des Befehls müssen Sie eine Kopie der Datei persistence.xml im Klassenpfad speichern bzw. diese Datei als Eigenschaftendatei mit dem Argument "-p [Pfad_zu_persistence.xml] angeben. Setzen Sie den Befehl über das Unterverzeichnis bin des Verzeichnisses Profilstammverzeichnis ab.

Der Befehl hat die folgende Syntax:

[AIX][HP-UX][Linux][Solaris][z/OS]
wsmapping.sh [Optionen][Argumente]
[IBM i]
wsmapping [Optionen][Argumente] 
[Windows]
wsmapping.bat [Optionen][Argumente]

Parameter

Das Zuordnungstool akzeptiert die Standardgruppe der Befehlszeilenargumente, die vom Konfigurationsgerüst zusammen mit den folgenden Angaben definiert werden:
  • -schemaAction/-sa <add | refresh | drop | build | reflect | retain | createDB | import | export | none>: Die Aktion, die für das Schema implementiert werden soll.

    Diese Optionen entsprechen den Aktionen des Schematools. add ist die Standardaktion, die ausgeführt wird, wenn keine Aktion angegeben ist. Es können mehrere Aktionen, voneinander getrennt durch Kommata, in einer Liste angegeben werden.

    Anmerkung: Das Tool wsmapping akzeptiert das Flag "-action/-a, um die Aktion, die für einzelne Klassen ausgeführt werden soll, anzugeben. Wenn Sie wsmapping nicht für alle persistenten Typen zugleich ausführen oder eine Zuordnung löschen möchten, müssen Sie die Standardaktion add oder die Aktion build ausführen. Andernfalls könnten Sie versehentlich Schemakomponenten löschen, die von Klassen verwendet werden, für die Sie das Tool gegenwärtig nicht ausführen.
  • -schemaFile/-sf <true/t | false/f>: Mit dieser Option können Sie das geplante Schema in ein XML-Dokument schreiben, ohne die Datenbank ändern zu müssen.

    Das XML-Dokument kann dann mit dem Schematool geändert, bearbeitet und in der Datenbank festgeschrieben werden.

  • -sqlFile/-sql <stdout | Ausgabedatei>: Mit dieser Option können Sie die geplanten Schemaänderungen in ein SQL-Script schreiben, ohne die Datenbank ändern zu müssen.

    Kombinieren Sie diesen Parameter mit der schemaAction build, um ein Script zu generieren, dass das Schema für die aktuellen Zuordnungen erneut erstellt, selbst wenn das Schema vorhanden ist.

  • -dropTables/-dt <true/t | false/f>: Wenn diese Option auf "true" gesetzt ist, löscht das Schema nicht verwendete Tabellen während der Aktionen retain und refresh.

    Der Standardwert ist true.

  • -dropSequences/-dsq <true/t | false/f>: Ist diese Option auf true gesetzt, löscht das Schema nicht verwendete Sequenzen während der Aktionen retain und refresh.

    Der Standardwert ist true.

  • -openjpatables/-ot <true/t | false/f>: Beim Ausgeben des Schemas bestimmt dieser Parameter, ob Tabellen und Sequenzen, deren Name mit OPENJPA_ beginnt, ausgegeben werden sollen.

    Diese Tabellen und Sequenzen werden von bestimmten OpenJPA-Komponenten, z. B. der Tabellenschemafactory, genutzt. Wenn Sie andere Aktionen ausführen, bestimmt der Parameter openjpaTables, ob diese Tabellen gelöscht werden können. Die Standardeinstellung ist false.

  • -ignoreErrors/-i <true/t | false/f>: Ist dieser Parameter auf false gesetzt, wird eine Ausnahmebedingung ausgelöst, wenn das Tool Datenbankfehler ermittelt.

    Die Standardeinstellung ist false.

  • -schemas/-s <Schemaliste>: Bezeichnet eine Liste von Schema- und Tabellennamen, auf die OpenJPA bei der Ausführung des Tools "wsschema" zugreift.

    Diese Einstellung ist äquivalent zu der Einstellung der Eigenschaft "openjpa.jdbc.Schemas", die eine einmalige Ausführung vorsieht. Dieser Parameter entspricht dem Parameter -schemas/-s im Tool "wsschema". Diese Option wird ignoriert, wenn -readSchema/-rs nicht auf true gesetzt ist.

  • -readSchema/-rs <true/t | false/f>: Setzen Sie diese Option auf true, um das gesamte Schema zu lesen, wenn das Zuordnungstool ausgeführt wird.

    Durch das Lesen des vorhandenen Schemas wird sichergestellt, dass OpenJPA keine Zuordnungen mit Namen von Tabellen, Indizes, Primärschlüsseln oder Fremdschlüsseln generiert, die mit vorhandenen Namen in Konflikt stehen.

    Anmerkung: Je nach JDBC-Treiber kann die Auswahl der Funktion -readSchema/-rs den Prozess bei großen Schemata verlangsamen.
  • -primaryKeys/-pk <true/t | false/f>: Dieses Flag bestimmt, ob die Primärschlüssel in vorhandenen Tabellen bearbeitet werden können.

    Der Standardwert ist true.

  • -foreignKeys/fk <true/t | false/f>: Dieses Flag bestimmt, ob Fremdschlüssel in vorhandenen Tabellen bearbeitet werden können.

    Der Standardwert ist true. Wenn Sie einen neuen Fremdschlüssel zu einer Klasse hinzufügen möchten, die bereits zugeordnet wurde, müssen Sie dieses Parameter-Flag explizit auf true setzen.

  • -indexes/-ix <true/t | false/f>: Dieses Flag bestimmt, ob Indizes in vorhandenen Tabellen bearbeitet werden können.

    Der Standardwert ist true. Wenn Sie einen neuen Index zu einer Klasse hinzufügen möchten, die bereits zugeordnet wurde, müssen Sie dieses Parameter-Flag explizit auf true setzen.

  • -sequences/-sq <true/t | false/f>: Dieses Flag bestimmt, ob Sequenzen bearbeitet werden können.

    Der Standardwert ist true.

  • -meta/-m <true/t | false/f>: Dieses Flag bestimmt, ob eine Zuordnung auf Metadaten und nicht auf Standardzuordnungen bzw. zusätzlich zu diesen angewendet wird.
  • Das Tool wsmapping akzeptiert das Flag -action/-a, um die Aktion, die für jede Klasse ausgeführt werden soll, anzugeben. Es können mehrere Aktionen, voneinander getrennt durch Kommata, in einer Liste angegeben werden. Folgende Aktionen sind möglich:
    • buildSchema: Das ist die Standardaktion. Die Aktion buildSchema gleicht das Datenbankschema mit den vorhandenen Zuordnungen ab. Wenn die angegebenen Zuordnungen mit den Klassendefinitionen in Konflikt stehen, schlägt OpenJPA mit einer Ausnahmebedingung fehl, die lediglich informativen Charakter hat.
    • validate: Vergewissern Sie sich, dass die Zuordnungen für die vorhandenen Klassen gültig sind und mit dem Schema der Datenbank übereinstimmen. Durch diese Aktion werden keine Zuordnungen von Tabellen geändert. Wenn alle Zuordnungen ungültig sind, wird eine Ausnahmebedingung ausgelöst.
Jedes zusätzliche Argument, das für das Tool "wsmapping" angegeben wird, muss eines der folgenden Elemente sein:
  • Der vollständige Name einer persistenten Klasse.
  • Der .java-Name für eine persistente Klasse.
  • Die .class-Datei einer persistenten Klasse.

Wenn Sie keine Argumente für das Tool "wsmapping" angeben, wird das Tool für die Klassen, die in der Liste der persistenten Klassen aufgeführt sind, ausgeführt.

Verwendung

Bevor Sie das Tool "wsmapping" ausführen, müssen Sie die Datenquelleninformationen einschließlich URL, Benutzer und Kennwort konfigurieren. Sie müssen das Tool "wsenhancer" vor dem Tool "wsmapping" ausführen, um Bytecode in die Entitätsklassen einzufügen. Außerdem müssen die kompilierten Klassendateien für Ihre Entitäten im Klassenpfad enthalten sein. Angenommen, die Entitätsklassendateien sind unter "target/classes" enthalten:

[AIX][HP-UX][Linux][AIX HP-UX Solaris][Solaris][z/OS]
export CLASSPATH=${CLASSPATH}:target/classes 

wsmapping.sh ...
[IBM i]
export CLASSPATH=${CLASSPATH}:target/classes 

wsmapping ...
[Windows]
SET CLASSPATH=%CLASSPATH%;target\classes  

wsmapping.bat . . .

Führen Sie zum Erstellen von Tabellen den Befehl "wsmapping" im Verzeichnis ${profile_root}/bin aus. Nach Abschluss des Befehls werden die Datenbanktabellen erstellt oder aktualisiert. Nachrichten und Fehler werden gemäß den Protokolleinstellungen in der Administrationskonsole protokolliert.

wsmapping.sh . . . On Windows:

Tipp: Durch Angabe des Parameters "buildSchema" in der Eigenschaft "openjpa.jdbc.SynchronizeMappings" stellt das Zuordnungstool die Standardzuordnung, die mit dem Datenbankschema übereinstimmt, automatisch bereit. Wenn die Standardzuordnung mit dem erforderlichen Datenbankschema übereinstimmt, ist es nicht erforderlich, dieses Zuordnungstool auszuführen.

Beispiele

Gehen Sie wie folgt vor, um die für die Datei Magazine.java benötigten Datenbanktabellen zu erstellen:

[AIX][HP-UX][Linux][Solaris][z/OS]
${profile_root}/bin/wsmapping.sh Magazine.java
[IBM i]
${profile_root}/bin/wsmapping Magazine.java
[Windows]
${profile_root}\bin\wsmapping.sh Magazine.java

Gehen Sie wie folgt vor, um die Tabellen für Magazine.java zu löschen:

[AIX][HP-UX][Linux][Solaris][z/OS]
C:\> %profile_root%/bin/wsmapping.sh -sa dropDB Magazine.java
[IBM i]
C:\> %profile_root%/bin/wsmapping -sa dropDB Magazine.java
[Windows]
C:\> %profile_root%\bin\wsmapping.bat -sa dropDB Magazine.java

Gehen Sie wie folgt vor, um die Zuordnungen für alle Klassen im Klassenpfad zu validieren:

[AIX][HP-UX][Linux][Solaris][z/OS]
C:\> %profile_root%/bin/wsmapping.sh -a validate
[IBM i]
C:\> %profile_root%/bin/wsmapping -a validate
[Windows]
C:\> %profile_root%\bin\wsmapping.bat -a validate

Weitere Informationen

Weitere Informationen und Beispiele finden Sie in den Informationen zur Zuordnung in der Veröffentlichung "Apache OpenJPA User Guide".


Symbol, das den Typ des Artikels anzeigt. Referenzartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rejb_wsmapping
Dateiname:rejb_wsmapping.html