Hibernate映射枚举到varchar [英] Hibernate map enum to varchar
本文介绍了Hibernate映射枚举到varchar的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
假设我有这个枚举:
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>
枚举以 0发送到数据库
, 1
, 2
。我想要将值存储为 EXAMPLE
, FURTHER_EXAMPLE
或 LAST_EXAMPLE
在varchar列中。
The enum is sent to the database as 0
, 1
, 2
. I'd like the values to be instead stored as EXAMPLE
, FURTHER_EXAMPLE
or LAST_EXAMPLE
in a varchar column.
如何将枚举映射到varchar列?
How can I map enum to a varchar column?
推荐答案
将其添加为EnumType的参数:
Add this as a parameter of EnumType:
<param name="type">12</param>
这是因为 12
相当于< a href =http://docs.oracle.com/javase/7/docs/api/constant-values.html#java.sql.Types.VARCHAR> java.sql.Types.VARCHAR
这篇关于Hibernate映射枚举到varchar的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文