データベースに格納された文字列(例:ABC1、BCD2)を列挙型(ABC_1、BCD_2)にマップしようとしています。 HibernateでJPAで列挙型をマッピングする
は、私は次のhibernateマッピング
<typedef name="LinkEnum" class="GenericEnumUserType">
<param name="enumClass">types.LinkEnum</param>
<param name="identifierMethod">value</param>
<param name="valueOfMethod">fromValue</param>
</typedef>
とし、LinkEnum JPAクラスで
@XmlType(name = "LinkEnum")
@XmlEnum
public enum LinkEnum {
@XmlEnumValue("ABC1")
ABC_1("ABC1"),
@XmlEnumValue("BCD2")
BCD_2("BCD2");
private final String value;
LinkEnum(String v) {
value = v;
}
public String value() {
return value;
}
public static LinkEnum fromValue(String v) {
for (LinkeEnum c: LinkEnum.values()) {
if (c.value.equals(v)) {
return c;
}
}
throw new IllegalArgumentException(v);
}
}
でこれを行うことができた、私は同じ種類のをやろうとしていますしかし、それはまだ列挙型のマッピングに問題があります。 JPAでこれと同等の方法がありますか?
private LinkEnum link;
@Enumerated(EnumType.STRING)
@Column(name = "LINK", nullable = false, length = 8)
public LinkEnum getLink() {
return this.link;
}
私たちはクラス定義全体を見ることができますか? –