Javaモデルに列挙型があり、これをデータベースのテーブルにマッピングしたい。HibernateAnnotationsを使用しており、その方法がわからない。私が検索する答えはかなり古いので、どちらの方法が最適なのだろうか?
前もって感謝します
@Enumerated
アノテーション以外のものが必要ですか?たとえば、次の列挙型:
public enum MyEnum {
VALUE1, VALUE2;
}
次のように使用して注釈を付けることができます。
private MyEnum myEnum;
@Column(name="myenum")
@Enumerated(EnumType.ORDINAL)
public MyEnum getMyEnum() {
return myEnum
}
@Enumerated
アノテーションのEnumType
enumプロパティを使用して、データベースで列挙を永続化する方法を指定できます。 EnumType.ORDINAL
は、列挙が整数値として保持されることを指定します。ここで、VALUE1
に設定されたmyEnum
は0、VALUE2
は1などとして保持されます。
別の方法は、EnumType.STRING
を使用して、フィールドに設定されている列挙値の名前を使用して列挙が永続化されるように指定することです。したがって、前の例に適用すると、フィールドmyEnum
をMyEnum.VALUE1
に設定すると、VALUE1
などとして保持されます。