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
Ich glaube nicht, dass die Verwendung von create
ein direktes Schema aktualisiert, um die gelöschte Tabelle erneut hinzuzufügen. Probieren Sie:
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.
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.
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
Tags und Links hibernate