Polymorphic Abstract Superclass dan MySQL Identity Generation
Dalam aplikasi Spring MVC yang menggunakan Hibernate dan MySQL, cabaran mengurus ID untuk superclass abstrak dan subkelas mereka timbul. GenerationType.IDENTITY tidak serasi dengan superclass abstrak dan MySQL tidak mempunyai sokongan untuk jujukan. Bagaimanakah isu ini boleh diselesaikan?
Pertama sekali, adalah penting untuk memahami had MySQL: ia tidak boleh menjana ID dan memasukkan rekod secara serentak. Hibernate, bagaimanapun, menjangkakan keupayaan ini semasa sisipan entiti.
Untuk menangani perkara ini, jadual "LAST_IDS" boleh dilaksanakan. Jadual ini menjejaki ID terakhir yang diberikan untuk setiap entiti yang berkaitan. Langkah berikut menggariskan proses untuk menjana dan meneruskan ID menggunakan pendekatan ini:
Dengan menggunakan pendekatan ini, penjanaan ID dan pengurusan menjadi serasi dengan superclass abstrak dan batasan MySQL. Perlu diperhatikan bahawa warisan dalam entiti Hibernate secara amnya hanya boleh digunakan apabila menyokong perhubungan warisan dalam pangkalan data, seperti PostgreSQL atau Oracle.
Atas ialah kandungan terperinci Bagaimana untuk Menjana ID untuk Superclass Abstrak dalam Aplikasi Spring MVC Menggunakan Hibernate dan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!