mysqlクエリはデータがあって、mybatisクエリはいくつか少なくなりました

4767 ワード

今日は馬鹿な間違いを犯しました.まったく同じsql文で、mysqlは7つのデータを調べましたが、mybatisは5つしかありません.何度も原因が見つかりませんでした.同じライブラリのものですね.キャッシュと何か関係があるのではないかと思っていました.最後に原因を見つけたのはresultMapを使ったからだ
<resultMap id="applyInfoList" type="com.entity.ApplyInfo">
		<id column="id" property="id"/>
        <result column="apply_email" property="applyEmail"/>
        <result column="apply_phone" property="applyPhone"/>
        <result column="apply_id" property="applyId"/>
        <result column="apply_number" property="applyNumber"/>
        <result column="real_time" property="realTime"/>
        <result column="deleted_flag" property="deletedFlag"/>
        <association property="ufloTask" javaType="com.entity.UfloTask">
            <id column="taskId" property="id"/>
            <result column="department" property="taskName"/>
            <result column="nodeName" property="nodeName"/>
            <result column="rootProcessInstanceId" property="rootProcessInstanceId"/>
        </association>
    </resultMap>

返されるデータは3つのidが同じで、mybatisのresultMapのidは一意性があり、最後のidしか保持できません.
解決策はidをresultに変更するか、別名をつけましょう