Mengapa Saya Mendapat Ralat Sintaks \'type=MyISAM\' dalam DDL Hibernate?

Barbara Streisand
Lepaskan: 2024-11-15 02:33:02
asal
796 orang telah melayarinya

Why Am I Getting a

Ralat Sintaks Tidak Sah "type=MyISAM" dalam DDL Dijana oleh Hibernate

Ralat "Anda mempunyai ralat dalam sintaks SQL anda; semak manual yang sepadan dengan versi pelayan MariaDB anda untuk sintaks yang betul untuk digunakan berhampiran ralat 'type = MyISAM' pada baris 1" dalam DDL yang dijana oleh Hibernate biasanya berlaku disebabkan oleh penggunaan atribut "jenis" yang tidak digunakan lagi. Berikut ialah analisis dan penyelesaian:

Ursache

Atribut "jenis" dalam SQL digunakan untuk menentukan enjin storan untuk jadual. Dalam MySQL 4.x dan lebih awal, adalah perkara biasa untuk menggunakan "type=MyISAM". Walau bagaimanapun, atribut ini telah ditamatkan dalam MySQL 4.0 dan dialih keluar dalam 5.5.

Lösung

Untuk menyelesaikan isu ini, anda perlu menggunakan dialek yang betul dalam konfigurasi Hibernate anda. Bergantung pada versi MariaDB dan Hibernate anda, anda perlu menggunakan salah satu daripada dialek berikut:

  • MariaDB:

    • org. hibernate.dialect.MariaDBDialect (untuk MariaDB 10.0 dan lebih awal)
    • org.hibernate.dialect.MariaDB53Dialect (untuk MariaDB 10.1 dan kemudiannya)
    • org.hibernate.dialect.MariaDB106Dialect (untuk MariaDB 10.6Dialect kemudian)
  • MySQL:

    • org.hibernate.dialect.MySQL5Dialect (untuk MySQL 5.0 dan lebih baru)
    • org.hibernate.dialect.MySQL55Dialect (untuk MySQL 5.5 dan lebih baru)
    • org.hibernate.dialect.MySQL57Dialect (untuk MySQL 5.7 dan lebih baru)
    • org.hibernate.dialect. MySQL8Dialect (untuk MySQL 8.0 dan lebih baru)

Beispiel

Dalam fail konfigurasi Hibernate anda, anda boleh menentukan dialek yang betul seperti berikut :

<property name="hibernate.dialect">org.hibernate.dialect.MariaDBDialect</property>
Salin selepas log masuk

Hinweis

Dengan Hibernate 6, anda harus menggunakan MySQLDialect atau MariaDBDialect, kerana dialek ini akan mengkonfigurasi dirinya secara automatik berdasarkan versi pangkalan data yang disambungkan.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat Sintaks \'type=MyISAM\' dalam DDL Hibernate?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan