首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >异常字段“”鉴别器“”没有默认值

异常字段“”鉴别器“”没有默认值
EN

Stack Overflow用户
提问于 2013-04-03 20:24:59
回答 1查看 932关注 0票数 0

我有以下映射文件。

代码语言:javascript
复制
<hibernate-mapping>
<class name="One" abstract="true">
       <id name="id" type="long" column="ID">
            <generator class="assigned"/>
        </id>
         <discriminator column="DISCRIMINATOR" type="string" />

        <union-subclass name="Two" table="TWO">
        .
        .
        </union-subclass>
        <union-subclass name="Three" table="THREE">
        .
        .
        </union-subclass>
</class>
</hibernate-mapping>

<hibernate-mapping>
    <subclass name="TWOSUB" extends="TWO">
        .
        .
    </subclass>
</hibernate-mapping>

当我试图添加TWOSUB的对象时,它引发了下面的异常字段‘鉴别器’没有默认值。

上面的映射有什么问题?

EN

回答 1

Stack Overflow用户

发布于 2013-05-22 21:00:01

您需要将discriminator-value="YOUR_CUSTOM_SUBCLASS_DISCRIMINATOR_VALUE“添加到通过使用鉴别器彼此区分的所有类标记中(因此它们被映射到同一个表中)。否则,hibernate不知道使用哪个鉴别器值来区分它们。

但是,我不认为使用使用鉴别器的子类来扩展联合子类是可能的-要么必须为您的类TWOSUB使用另一个联合子类,要么根本不使用联合子类来从一个继承两个。至少联合子类标签没有鉴别器-值属性,因此不可能区分TWO和TWOSUB。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15787326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档