# Datenbank löschen mit Hibernate



## HerrRitschwumm (16. September 2007)

Hallo! 

Kennt jemand eine Möglichkeit, unter der Verwendung von Hibernate in Java vor der Speicherung von Daten die Datenbank komplett zu leeren, d.h. alle Tabellen zu löschen? Gibt es möglicherweise dafür einen HQL-Befehl? 

Grüße
Ritschwumm


----------



## Vatar (17. September 2007)

HerrRitschwumm hat gesagt.:


> vor der Speicherung von Daten die Datenbank komplett zu leeren, d.h. alle Tabellen zu löschen?



Wieso willst du so etwas machen? Wenn du ein Objekt speichern willst brauchst du es doch bloß in einer Transaktion zu commiten, HIbernate kümmert sich dann schon darum dass alles passt.

Falls du mit der Frage darauf abziehlst die Datenbank bei jedem Start des Programms zu leeren dann kannst du in deiner hibernate.cfg.xml einfach die Hibernate-Tools nutzen 
	
	
	



```
<property name="hbm2ddl.auto">create</property>
```


----------



## HerrRitschwumm (17. September 2007)

Danke für die Antwort!

Die Sache ist die: Ich habe im Rahmen meiner Diplomarbeit ein Programm geschrieben, das mit einer mehr oder weniger komplizierten Datenstruktur arbeitet. Bisher wurden die Daten einfach per Serialisierung lokal auf die Platte geschrieben. Das hat wunderbar funktioniert. Nun soll der ganze Datensatz aber zusätzlich auch noch in eine Datenbank gespeichert werden. Da ich mich bereits am Ende meiner Diplomarbeit befinde, kann ich nicht mehr die nötige Zeit investieren, um das dynamische Ändern der Daten in den Tabellen abhängig von den Daten im Programm zu bewerkstelligen. Dies habe ich schon versucht und bin auf Fehler gestoßen, deren Behebung zeitlich vermutlich sehr aufwändig wäre. Die einfachste und natürlich auch schlechteste Lösung ist jetzt, die Datenbank jedesmal vor der Speicherung der Daten komplett zu leeren und die Daten wieder neu reinzuschreiben.
Das mit dem hbm2ddl.auto=create property funktioniert nicht, da mir dann jedesmal, wenn die Session erzeugt wird, mir Hibernate die Datenbank leert. Also z.B. auch, wenn ich nur Daten laden will.

Gruß
Ritschwumm


----------



## Vatar (17. September 2007)

Ok, jetzt verstehe ich dein Problem.
Aber wärst du mit purem SQL da nicht besser dran? Wenn du die Tabellen leerst brichst du doch die Verbindung zwischen deinem Objektcode und Hibernate. 

Da dein Problem recht speziell ist solltest du es mal direkt im Hibernate-Forum versuchen, ich hab jetzt auf die schnelle auch nix gefunden. *sorry*


----------

