Mybatis 执行在同一个事务内,同一条sql默认只执行一次,并将结果存入缓存中,因此多次查询会返回同样的值
因此在一个事务中,批量保存数据时,根据序列函数获取唯一id就会出错。
解决方法:序列函数加注解@Options(flushCache=Options.FlushCachePolicy.TRUE)