首页 > Mybatis的discriminator无法填充Case中的property

Mybatis的discriminator无法填充Case中的property

使用这个Map可以自动填充RatingResult的client。

<resultMap id="SimpleRatingResult" type="RatingResult">
    <id property="ratingID" column="ratingID"/>
    <result property="clientType" column="clientType"/>

    <association property="client" column="{credentialType=credentialType, credentialNo=credentialNo}" select="ClientMapper.getIndividualByTypeAndID"/>
 </resultMap>
 

而使用加了discriminator的Map,RatingResult的client为null。其他均未做改动。

 
 <resultMap id="SimpleRatingResult" type="RatingResult">
    <id property="ratingID" column="ratingID"/>
    <result property="clientType" column="clientType"/>

    <discriminator javaType="ClientType" column="clientType">
        <case value="INDIVIDUAL" resultType="RatingResult">
            <association property="client" column="{credentialType=credentialType, credentialNo=credentialNo}" select="ClientMapper.getIndividualByTypeAndID"/>
        </case>
        <case value="CORPORATE" resultType="RatingResult">
            <association property="client" column="{credentialType=credentialType, credentialNo=credentialNo}" select="CorporateMapper.getCorporateByTypeAndID"/>
        </case>
    </discriminator>
 </resultMap>
 

数据库表字段为:

【热门文章】
【热门文章】