Ungültiger Syntaxfehler „type=MyISAM“ in DDL, generiert durch Hibernate
Problem:
Beim Erstellen einer Tabelle mit Hibernate wird eine „MySQLSyntaxErrorException“ mit der Meldung „Sie haben einen Fehler in Ihrer SQL-Syntax; überprüfen Sie das Handbuch, das Ihrer MariaDB-Serverversion entspricht, auf die richtige Syntax für die Verwendung in der Nähe von ‚type = MyISAM‘“ unter Zeile 1.“
Ursache:
Das veraltete „TYPE=MYISAM“-Fragment wird in der DDL-Anweisung durch den konfigurierten Hibernate-Dialekt generiert. Dieses Fragment wird in MySQL 5.5 und höher oder in MariaDB nicht unterstützt.
Lösung:
Um dieses Problem zu beheben, müssen Sie einen geeigneten Hibernate-Dialekt konfigurieren, der mit übereinstimmt Ihre Datenbankserverversion.
Verwenden Sie für MariaDB je nach Version und Hibernate-Version einen der folgenden Dialekte:
Für MySQL oder wenn die MariaDB-Dialekte in Ihrer Hibernate-Version nicht verfügbar sind, Verwenden Sie einen dieser Dialekte (oder Varianten):
Hinweis:
Mit Hibernate 6 können Sie wieder MySQLDialect oder MariaDBDialect verwenden, da sich diese Dialekte automatisch basierend auf der verbundenen Datenbankversion konfigurieren.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Erstellen einer Tabelle mit Hibernate eine „MySQLSyntaxErrorException' mit der Meldung „Sie haben einen Fehler in Ihrer SQL-Syntax …'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!