hbm2ddl.auto
hbm2ddl.auto steuert das Schema-Verhalten von Hibernate beim Deploy.
Wert wird in der persistence.xml gesetzt.
I. Die 5 Modi
| Modus | Wirkung | Wann benutzen? |
|---|---|---|
none |
macht nichts | Production (Schema extern) |
validate ✅ |
prüft @Entity ↔ Tabelle | Default für mich |
update |
ergänzt fehlende Spalten | Dev (vorsichtig) |
create |
dropt + erstellt | Tests |
create-drop |
wie create, dropt bei Shutdown | Unit-Tests |
II. Warum validate?
- Deploy schlägt sofort fehl bei Schema-Mismatch
- Du findest Bugs vor dem User
- Keine versehentlichen Schema-Änderungen
III. Gefahr
DATENVERLUST!
create / create-drop löschen alles beim Deploy. Niemals an einer DB mit echten Daten einstellen!