一尘不染

Hibernate映射枚举到varchar

hibernate

假设我有这个枚举:

public enum TestEnum { EXAMPLE, FURTHER_EXAMPLE, LAST_EXAMPLE }

通过以下映射.hbm

<property name="testEnum" column="TEST_COLUMN">
    <type name="org.hibernate.type.EnumType">
        <param name="enumClass">p.a.c.k.TestEnum</param>
    </type>
 </property>

枚举被发送到数据库012。我希望这些值改为存储为EXAMPLEFURTHER_EXAMPLE或存储LAST_EXAMPLE在varchar列中。

如何将枚举映射到varchar列?


阅读 183

收藏
2020-06-20

共1个答案

一尘不染

将其添加为EnumType的参数:

<param name="type">12</param>

这是因为12等效于java.sql.Types.VARCHAR

2020-06-20