- Klicken Sie im Project Management > Entities 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.
Gesamte Datenbank generieren lassen (Create Table)
Anwendungsfall:
- Es ist noch keine Datenbank vorhanden.
- Die Datenbank soll erstmalig auf einem neuen Test- oder Produktiv-System deployt 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.
Parameter:
- Export to Database - Führt die generierten Statements sofort aus.
Nur einzelne Änderungen durchführen (Update)
Anwendungsfall:
- Aktualisierung einer vorhandenen Datenbank
- Änderungen an Datenmodell und Datenbank während der Entwicklung
- Auslieferung eines Datenbank-Updates
- 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 - Generiert nur für die durchgeführten Änderungen entsprechende Update Statements.
Parameter:
- Export to Database - Führt die generierten Statements sofort aus.
Tipp:
- Datenbank manuell generieren und update - 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.
<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 deployt. Bereits vorhandene Tabellen und Daten werden dabei gelöscht.
- create-drop - Die Datenbank wird vollständig deployt und nach dem Beenden der Session wieder vollständig gelöscht. Diese Strategie eignet sich z.B. für automatisierte Softwaretests.