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!