Rumah >pangkalan data >tutorial mysql >Mengapa saya mendapat ralat sintaks 'type=MyISAM' dalam DDL yang dijana Hibernate?

Mengapa saya mendapat ralat sintaks 'type=MyISAM' dalam DDL yang dijana Hibernate?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-15 07:16:02390semak imbas

Why am I getting the

Ralat Sintaks Tidak Sah "type=MyISAM" dalam DDL Hibernate-Generated

Dalam kod Java, pengguna mungkin menghadapi ralat sintaks berikut:

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

Ralat ini timbul apabila Hibernate menjana pertanyaan penciptaan jadual yang merangkumi serpihan "jenis = MyISAM." Walau bagaimanapun, sintaks ini ditamatkan dalam MySQL 4.0 dan dialih keluar dalam 5.5.

Konfigurasi Dialek

Masalahnya berpunca daripada penggunaan dialek org.hibernate.dialect.MySQLDialect , iaitu untuk MySQL 4.x atau lebih awal. Untuk MariaDB, adalah disyorkan untuk menggunakan salah satu daripada dialek berikut, bergantung pada versi MariaDB dan Hibernate:

  • org.hibernate.dialect.MariaDBDialect
  • org.hibernate.dialect .MariaDB53Dialect
  • org.hibernate.dialect.MariaDB106Dialect (atau lebih tinggi)

Untuk MySQL, atau jika dialek MariaDB tidak tersedia, pertimbangkan untuk menggunakan:

  • org.hibernate.dialect.MySQL5Dialect
  • org.hibernate.dialect.MySQL55Dialect
  • org.hibernate.dialect.MySQL57Dialect
  • org.hibernate.dialect.MySQL55Dialect.MySQL57Dialect.Varian dialek ini (cth., org.hibernate.dialect.MySQL57InnoDBDialect)

Hibernate 6 Dialects

Dengan Hibernate 6, pengguna harus menukar kembali 6 untuk menggunakan MySQLDialect atau MariaDBDialect kerana dialek ini akan mengkonfigurasi dirinya sendiri berdasarkan versi sambungan sebenar.

Atas ialah kandungan terperinci Mengapa saya mendapat ralat sintaks 'type=MyISAM' dalam DDL yang dijana Hibernate?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn