Ungültiger Syntaxfehler „type=MyISAM“ in Hibernate-Generated DDL
Im Java-Code können Benutzer auf den folgenden Syntaxfehler stoßen:
Caused by :`com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException`: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB' server version for the right syntax to use near 'type = `MyISAM`' at line 1
Dieser Fehler tritt auf, wenn Hibernate eine Tabellenerstellungsabfrage generiert, die das Fragment „type =“ enthält MyISAM. Diese Syntax ist jedoch in MySQL 4.0 veraltet und wurde in 5.5 entfernt.
Dialektkonfiguration
Das Problem ergibt sich aus der Verwendung des Dialekts org.hibernate.dialect.MySQLDialect , was für MySQL 4.x oder früher gilt. Für MariaDB wird empfohlen, abhängig von den Versionen von MariaDB und Hibernate einen der folgenden Dialekte zu verwenden:
Für MySQL oder wenn die MariaDB-Dialekte nicht verfügbar sind, denken Sie darüber nach mit:
Dialekte von Hibernate 6
Mit Hibernate 6 sollten Benutzer wieder auf die Verwendung von MySQLDialect oder umsteigen MariaDBDialect, da diese Dialekte sich basierend auf der tatsächlich verbundenen Version selbst konfigurieren.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich den Syntaxfehler „type=MyISAM' in der von Hibernate generierten DDL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!