Hibernate-Tabelle existiert nicht Fehler

8

In der Konfiguration hibernate.cfg.xml füge ich hinzu %Code% Hibernate erstellt automatisch eine Tabelle, wenn ich die Anwendung ausführe. Allerdings entferne ich die Tabelle manuell aus der Datenbank, indem ich drop table sql ausfühle. Führen Sie anschließend die Anwendung für den Ruhezustand erneut aus. Die Ausnahme erscheint

  

verursacht durch: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Die Tabelle 'test.person' existiert nicht

einzige Möglichkeit, das Problem zu beheben, starten Sie die Mysql-Datenbank neu. Kann mir jemand dieses Thema erklären?

Das ist meine hibernate.cfg.xml

%Vor%

Thx

    
EeE 20.12.2010, 15:18
quelle

3 Antworten

11

Ich glaube nicht, dass die Verwendung von create ein direktes Schema aktualisiert, um die gelöschte Tabelle erneut hinzuzufügen. Probieren Sie:

%Vor%

Dies ist ein Schema erstellen, wenn ein nicht vorhanden ist, und versuchen, ein vorhandenes zu ändern, um das von Ihnen definierte Mapping zu erfüllen.

Lesen Sie auch diese Frage über alle möglichen Werte.

    
codelark 20.12.2010, 15:58
quelle
5

Gibt es ein Leerzeichen zwischen "Eigenschaft" und "Name"?

%Vor%

Wenn nicht, dann ist das wahrscheinlich das Problem. Was meinst du auch, dass es repariert, wenn Sie die MySQL-Datenbank "neu starten"? Bedeutet das, dass Sie den MySQL-Server neu gestartet haben, oder dass Sie die Tabelle manuell neu erstellen müssen? Wenn der obige XML-Auszug tatsächlich ein Leerzeichen zwischen "property" und "name" enthält, geben Sie auch die Ausnahme für die Ruhezustandsprotokolle an, insbesondere den Teil, der alle identifizierten Eigenschaften auflistet.

    
jpkrohling 20.12.2010 15:27
quelle
2

Ich hatte das gleiche Problem. Ich beobachtete, dass ich auto_increment (ich benutzte MySQL-Dialekt) für ein String-Feld verwendete. Ich änderte es in int, die das Problem löste

    
Chetan Joshi 02.11.2015 18:54
quelle

Tags und Links