假设我有这个枚举:
public enum TestEnum { EXAMPLE, FURTHER_EXAMPLE, LAST_EXAMPLE }
通过以下映射.hbm:
.hbm
<property name="testEnum" column="TEST_COLUMN"> <type name="org.hibernate.type.EnumType"> <param name="enumClass">p.a.c.k.TestEnum</param> </type> </property>
枚举被发送到数据库0,1,2。我希望这些值改为存储为EXAMPLE,FURTHER_EXAMPLE或存储LAST_EXAMPLE在varchar列中。
0
1
2
EXAMPLE
FURTHER_EXAMPLE
LAST_EXAMPLE
如何将枚举映射到varchar列?
将其添加为EnumType的参数:
<param name="type">12</param>
这是因为12等效于java.sql.Types.VARCHAR
12