Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menganotasi Medan MySQL AUTO_INCREMENT dengan JPA dengan betul?
Menganotasi Medan AUTO_INCREMENT MySQL dengan Anotasi JPA
Isu biasa yang dihadapi semasa menyimpan entiti JPA dengan lajur kenaikan automatik ialah spesifikasi yang tidak sah Strategi penjanaan ID. Dalam kes khusus ini, masalahnya terletak pada lajur AUTO_INCREMENT pangkalan data MySQL.
Untuk menyelesaikan isu ini, adalah penting untuk menggunakan strategi yang sesuai semasa mentakrifkan medan ID. Untuk MySQL, strategi harus ditetapkan kepada IDENTITI:
@Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id;
Pendekatan ini bersamaan dengan menggunakan strategi AUTO tanpa menyatakan jenis tertentu:
@Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id;
Walau bagaimanapun, ia disyorkan untuk secara eksplisit tetapkan strategi kepada IDENTITI, kerana ia memastikan bahawa sisipan SQL yang dijana akan meninggalkan lajur id, kerana dijangka.
Dalam sampel kod yang disediakan, pemetaan secara teknikalnya betul. Walau bagaimanapun, adalah penting untuk mengesahkan bahawa dialek MySQL dinyatakan dalam konfigurasi Hibernate untuk memastikan keserasian yang betul. Selain itu, ketidakkonsistenan dalam penciptaan jadual pangkalan data dan kod Java mungkin menyumbang kepada masalah.
Dengan menangani faktor-faktor ini, isu ini sepatutnya dapat diselesaikan dan menyimpan entiti dengan lajur autokenaikan automatik ke MySQL dengan betul. pangkalan data.
Atas ialah kandungan terperinci Bagaimana untuk Menganotasi Medan MySQL AUTO_INCREMENT dengan JPA dengan betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!