0

列挙文字列値を格納しているmysqlテーブルがあります。

私のモデルには注釈があります:

@Enumerated(EnumType.STRING)

私の列挙型は次のようになります:

public enum SomeEnum {

   BLUE(0),
   YELLOW(1),
   RED(2),

   private int value;

   public SomeEnum(int value) {
     this.value = value;
   }

}

どういうわけか列挙型の整数'value'をデータベースに格納し、hibernateがモデルをJavaクラスにロードするときに、列挙型の値を使用して再度解析できることを望んでいました。

序数は十分に安定していないため、使用したくありません。そして、正当な理由もなくmysqlに結び付けられるため、mysqlenum型も使用したくありません。

それで、これは可能ですか?

4

3 に答える 3

2

いつでも独自のユーザー タイプをマップできると思います: http://alenovarini.wikidot.com/mapping-a-custom-type-in​​-hibernate

于 2012-04-09T15:32:57.860 に答える
2

int 型 (列挙されていない) のフィールドを試してみませんか?必要に応じて、Enum 型から取得/設定しますか?

于 2012-04-09T15:33:09.237 に答える