2013-05-28 24 views
20

Ich möchte Hibernate machen Datenbankdatei (SQLite), aber nur wenn nicht existiert.Hibernate: Datenbank nur machen, wenn nicht existiert

Jetzt in hibernate.cfg.xml ich diese Linie haben:

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

Das Problem ist, dass die Datenbankdatei wird in der ganzen Zeit wurde die Erstellung, auch besteht die Datei.

+0

Schalt habe ich versucht, dies: erstellen, aber es ist immer Datenbank. – MAGx2

+1

Offenbar haben Sie das Handbuch zum Winterschlaf nicht überprüft, was die verschiedenen Varianten dieser Option erklärt. Bitte denken Sie daran, dass StackOverflow erfordert, dass Sie selbst ein Minimum an Recherchen durchführen, bevor Sie eine Frage stellen. – creinig

+0

Ich schrieb eine einfache Lösung zu folgen Link: http://StackOverflow.com/a/25549938/1736002 Sie können 'import.sql' verwenden. Wenn die Datenbank nicht vorhanden ist, erstellt Hibernate eine neue Datenbank. – cguzel

Antwort

31

versuchen, den Wert zu update

<property name="hibernate.hbm2ddl.auto">update</property> 
26

Try This:

<property name="hibernate.hbm2ddl.auto">update</property> 

Unterschied zwischen create und update ist, dass update Ihre Datenbank aktualisieren, wenn Datenbanktabellen bereits erstellt und wird erstellen, wenn Datenbanktabellen werden nicht erstellt.

Und create erstellt Tabellen der Datenbank. Und wenn Tabellen bereits erstellt wurden, werden alle Tabellen gelöscht und erneut Tabellen erstellt. In diesem Fall wären Ihre Daten verloren.

Es ist meine persönliche Empfehlung, update zu verwenden.

Verwandte Themen