Heim  >  Artikel  >  Datenbank  >  Wie bleiben Enum-Typen im Ruhezustand bestehen?

Wie bleiben Enum-Typen im Ruhezustand bestehen?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-30 19:59:30685Durchsuche

How to Persist Enum Types in Hibernate?

Persistente Enum-Typen in Hibernate

Bei der Arbeit mit Hibernate kann die Zuordnung von Enum-Typen zu Datenbankspalten manchmal eine Herausforderung darstellen. Standardmäßig erwartet Hibernate, dass Enum-Werte als Ganzzahlen gespeichert werden. Aus Gründen der Klarheit und Konsistenz möchten Sie jedoch möglicherweise lieber den Enum-Typ in der Datenbank beibehalten.

Um dies zu erreichen, können Sie die Annotation @Column mit dem Attribut columnsDefinition nutzen:

<code class="java">@Column(columnDefinition = "enum('MALE','FEMALE')")
@Enumerated(EnumType.STRING)
private Gender gender;</code>

By Durch Angabe der ColumnDefinition definieren Sie explizit den Datentyp der Spalte in der Datenbank und stellen so sicher, dass der Enum-Typ erhalten bleibt.

Wenn Sie für die Schemagenerierung nicht auf Hibernate angewiesen sind, können Sie den Prozess weiter vereinfachen Verwenden eines beliebigen Werts für die SpalteDefinition:

<code class="java">@Column(columnDefinition = "enum('DUMMY')")
@Enumerated(EnumType.STRING)
private ManyValuedEnum manyValuedEnum;</code>

Dieser Ansatz ermöglicht es Ihnen, Ihre Java-Enumeration und Ihr Datenbankschema synchron zu halten, ohne sich auf hartcodierte Werte verlassen zu müssen.

Das obige ist der detaillierte Inhalt vonWie bleiben Enum-Typen im Ruhezustand bestehen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn