- Klicken Sie im Project Management > Entities auf > main-java auf Create tables from JPA entities.
- Wählen Sie bei Persistence Unit die gewünschte Datenquelle aus.
- Selektieren Sie im folgenden Assistent den Ordner resources.
...
- Es ist noch keine Datenbank vorhanden.
- Die Datenbank soll erstmalig auf einem neuen Test- oder Produktiv-System deployt deployed werden.
- Legen Sie bei DDL File eine Bezeichnung fest, z.B. Create_CarsDB.ddl.
- Klicken Sie auf Finish.
Ergebnis:
- Create Table Statements - Generiert aus allen Entities Create Table Statements.
...
- Legen Sie bei DDL File eine Bezeichnung fest, z.B. Update_CarsDB.ddl.
- Wählen Sie bei Options die Option Update Schema an.
- Klicken Sie auf Finish.
Ergebnis:
- Update Statements Schema - Generiert nur für die durchgeführten Änderungen und Erweiterungen die entsprechenden Statements.
...
- Export to Database - Führt die generierten Statements sofort aus. (Braucht eine aktive Connection zur Datenbank)
DDL-Skripte ausführen
- Stellen Sie eine Verbindung zu einer Datenquelle her.
- Klicken Sie die im Project Management > Resources die DDL-Datei an die Sie ausführen möchten.
- Legen Sie im folgenden SQL-Editor bei Type, Name und Database die Datenquelle fest auf der Sie das DDL-Skript ausführen möchten.
- Klicken Sie mit Rechtsklick in den SQL-Editor und wählen Sie im Kontextmenü > Execute All.
...
- Datenbank manuell generieren und updaten - Es ist hilfreich die DDL-Files zu sämtlichen Datenbank-Änderungen versioniert zu verwalten. Beispiel:
Datenbank automatisiert generieren und updaten - Beim initialen Starten Ihrer Anwendung im Servlet-Container lässt sich die Datenbank vollautomatisch deployen oder updaten. Dazu müssen Sie lediglich in der persistence.xml in der folgenden Zeile den Parameter validate ändern.
Code Block language java theme Confluence <property name="hibernate.hbm2ddl.auto" value="validate" />
Parameter:
- validate - Standard-Wert. Das Datenbankschema wird lediglich überprüft. An der Datenbank selbst werden keine Änderungen vorgenommen.
- update - Die Datenbank wird anhand der Änderungen an den Entities entsprechend aktualisiert. Es werden ausschließlich Änderungen und Erweiterungen durchgeführt.
- create - Die Datenbank wird vollständig deploytdeployed. Bereits vorhandene Tabellen und Daten werden dabei gelöscht.
- create-drop - Die Datenbank wird vollständig deployt deployed und nach dem Beenden der Session wieder vollständig gelöscht. Diese Strategie eignet sich z.B. für automatisierte Softwaretests.