spring jdbctemplate GeneratedKeyHolder 出 multiple keys

代码如下:

    long saveOne(PreparedStatementCreator creator) {
        jdbcTemplate.update(creator, keyHolder);
        return keyHolder.getKey().longValue();
    }

数据库是 mysql.
执行的时候大部分情况都是正确的,但是老是会不定时的爆出 :
The getKey method should only be used when a single key is returned. The current key entry contains multiple keys : [{GENERATED_KEY=371363}, {GENERATED_KEY=371362}]

看源码肯定是 GeneratedKeyHolder 的问题,
我网上找到的链接这么说

但是我还是不知道该怎么把我现在的问题改掉,返回多个key的时候,我改如何处理呢,GeneratedKeyHolder 中,size 超过1就会返回这个异常,导致我的代码执行失败。

系统已经正常运行好久了,较着急,希望大神能给我指点一下

阅读 2.8k
评论
    1 个回答

    GeneratedKeyHolder 改成在方法内部定义,你这个一般是多线程情况下会出现的异常

      撰写回答

      登录后参与交流、获取后续更新提醒

      相似问题
      推荐文章