Hibernateで列挙型を文字列にマッピングする 質問する

Hibernateで列挙型を文字列にマッピングする 質問する

カテゴリ Hibernate モデルがあります:

@Entity
@Table(name = "category")
public class Category {

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    @Column(name = "id")
    private long id;

    @Column(name = "type")
    private String type;

型文字列フィールドがあります。また、カテゴリの型を表す Java 列挙型もあります。

public enum CategoryType {
    INCOME, OUTCOME;
}

これを文字列型の代わりに使用したいと思います。SQL は、varchar パラメータで または の 2 つの異なる値を受け入れます。CategoryCategoryIncomeモデルCategoryOutcomeクラスで列挙型変数を受け入れ、Hibernate が要求するたびに何らかの方法でそれを文字列にマップしたいと思います。

出来ますか?

ベストアンサー1

はい、可能です。次のようになります:

@Enumerated(EnumType.STRING)
@Column(name = "category_type")
private CategoryType categoryType;

おすすめ記事