Jenis Enum yang Berterusan dalam Hibernate
Apabila bekerja dengan Hibernate, memetakan jenis enum ke lajur pangkalan data kadangkala boleh menimbulkan cabaran. Secara lalai, Hibernate menjangkakan nilai enum disimpan sebagai integer. Walau bagaimanapun, anda mungkin memilih untuk mengekalkan jenis enum dalam pangkalan data untuk kejelasan atau ketekalan.
Untuk mencapai ini, anda boleh memanfaatkan anotasi @Column dengan atribut columnDefinition:
<code class="java">@Column(columnDefinition = "enum('MALE','FEMALE')") @Enumerated(EnumType.STRING) private Gender gender;</code>
Oleh dengan menyatakan columnDefinition, anda mentakrifkan secara eksplisit jenis data lajur dalam pangkalan data, memastikan bahawa jenis enum dikekalkan.
Jika anda tidak bergantung pada Hibernate untuk penjanaan skema, anda boleh memudahkan lagi proses dengan menggunakan nilai arbitrari untuk lajurDefinisi:
<code class="java">@Column(columnDefinition = "enum('DUMMY')") @Enumerated(EnumType.STRING) private ManyValuedEnum manyValuedEnum;</code>
Pendekatan ini membolehkan anda mengekalkan enum Java dan skema pangkalan data anda dalam penyegerakan tanpa bergantung pada nilai berkod keras.
Atas ialah kandungan terperinci Bagaimana untuk Mengekalkan Jenis Enum dalam Hibernate?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!