collection 标签自动去重问题处理

在MyBatis中,collection标签在映射查询时会默认去重。若无id字段定义,基于logInfo字段的数据可能会被排除。为避免这种情况,可以添加id字段或者确保其他唯一标识字段的存在来保持数据完整性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

collection 标签自动去重问题处理

<resultMap id="getLogInfo" type="com.kinth.sys.model.entity.LogEntity">
        <result property="createTime" column="createTime" javaType="string"/>

        <collection property="operationInfo" ofType="com.kinth.sys.model.entity.LogInfo">
            <id property="id" javaType="long" column="id"/>
            <result property="logInfo" javaType="string" column="logInfo"/>
        </collection>
</resultMap>

<select id="getAll" resultMap="getLogInfo">
    SELECT
        id,
        DATE_FORMAT(create_time,'%Y-%m-%d') createTime,
        operation_info AS logInfo
    FROM
        user_operation_log
    WHERE
        operation_info IS NOT NULL
    ORDER BY
        create_time DESC
</select>
  1. 其中的collection标签默认会去重,如果当中没有id标签作为标识只有logInfo这个字段的话,重复的数据会被排除掉
  2. 解决方案就是添加一个标识字段id值保证不同既可,你们可以使用其他方式保证id不重复也可以达到效果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值