Heim >Datenbank >MySQL-Tutorial >Warum erhalte ich einen Syntaxfehler „type=MyISAM' in der Hibernate-DDL?
Ungültiger Syntaxfehler „type=MyISAM“ in DDL, generiert durch Hibernate
Die Meldung „Sie haben einen Fehler in Ihrer SQL-Syntax; überprüfen Sie die Handbuch, das Ihrer MariaDB-Serverversion entspricht, für die richtige Syntax zur Verwendung in der Nähe von „type = MyISAM“ in Zeile 1“-Fehler in DDL, der normalerweise von Hibernate generiert wird Tritt aufgrund der Verwendung des veralteten Attributs „type“ auf. Hier ist eine Analyse und Lösung:
Ursache
Das „type“-Attribut in SQL wird verwendet, um die Speicher-Engine für eine Tabelle anzugeben. In MySQL 4.x und früher war es üblich, „type=MyISAM“ zu verwenden. Dieses Attribut wurde jedoch in MySQL 4.0 veraltet und in 5.5 entfernt.
Lösung
Um dieses Problem zu beheben, müssen Sie in Ihrer Hibernate-Konfiguration den richtigen Dialekt verwenden. Abhängig von Ihrer Version von MariaDB und Hibernate müssen Sie einen der folgenden Dialekte verwenden:
MariaDB:
MySQL:
Beispiel
In Ihrer Hibernate-Konfigurationsdatei können Sie den richtigen Dialekt wie folgt angeben:
<property name="hibernate.dialect">org.hibernate.dialect.MariaDBDialect</property>
Hinweis
Mit Hibernate 6 , sollten Sie MySQLDialect oder MariaDBDialect verwenden, da sich diese Dialekte automatisch basierend auf der verbundenen Datenbankversion konfigurieren.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich einen Syntaxfehler „type=MyISAM' in der Hibernate-DDL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!