Heim > Datenbank > MySQL-Tutorial > Hauptteil

Warum erhalte ich einen Syntaxfehler „type=MyISAM' in der Hibernate-DDL?

Barbara Streisand
Freigeben: 2024-11-15 02:33:02
Original
798 Leute haben es durchsucht

Why Am I Getting a

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 „type“-Attributs 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:

    • org. hibernate.dialect.MariaDBDialect (für MariaDB 10.0 und früher)
    • org.hibernate.dialect.MariaDB53Dialect (für MariaDB 10.1 und höher)
    • org.hibernate.dialect.MariaDB106Dialect (für MariaDB 10.6 und später)
  • MySQL:

    • org.hibernate.dialect.MySQL5Dialect (für MySQL 5.0 und höher)
    • org.hibernate.dialect.MySQL55Dialect (für MySQL 5.5 und später)
    • org.hibernate.dialect.MySQL57Dialect (für MySQL 5.7 und höher)
    • org.hibernate.dialect.MySQL8Dialect (für MySQL 8.0 und höher)

Beispiel

In Ihrer Hibernate-Konfigurationsdatei können Sie den richtigen Dialekt wie folgt angeben:

<property name="hibernate.dialect">org.hibernate.dialect.MariaDBDialect</property>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage