Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Mengekalkan Jenis Enum dalam Hibernate?

Bagaimana untuk Mengekalkan Jenis Enum dalam Hibernate?

Patricia Arquette
Patricia Arquetteasal
2024-10-30 19:59:30680semak imbas

How to Persist Enum Types in Hibernate?

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!

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