Hibernate-如何映射EnumSet

Hibernate-如何映射EnumSet,第1张

Hibernate-如何映射EnumSet

我使用EnumSet映射线程中的解决方案,该解决方案依赖于的使用

<elementcolumn>
。您只需要一个具有ID和字符串的表即可映射集合(
MYENTITY_COLOR
此处)。映射看起来像这样(这
EnumUserType
是Java
5
EnumUserType中的映射
):

<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping>    <typedef name="color" >        <param name="enumClassName">com.stackoverflow.q2402869.Color</param>    </typedef>    <class name="com.stackoverflow.q2402869.MyEntity" entity-name="MyEntity" table="MYENTITY">        <id name="id" type="java.lang.Long"> <column name="ID" /> <generator  />        </id>        <set name="colors" table="MYENTITY_COLORS"> <key column="ID" not-null="true"/> <element type="color" column="COLOR"/>        </set>    </class></hibernate-mapping>

查询可能如下所示:

select distinct e from MyEntity e join e.colors colors where colors IN ('WHITE', 'GREEN')

整个解决方案可 很好地用于加载,保存和查询 (归于jasonab)。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5027761.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存