代码如下:
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就会返回这个异常,导致我的代码执行失败。
系统已经正常运行好久了,较着急,希望大神能给我指点一下
GeneratedKeyHolder 改成在方法内部定义,你这个一般是多线程情况下会出现的异常