前言
我在对数据库做批量添加操作时,发现循环添加的UUID是重复的,经过查阅文档发现可能是循环添加时程序运行过快,所以两次添加的数据id为同一个UUID,所以找到解决办法之后特此来记录一下。
方法
其实解决方案很简单,在生成UUID时我们可以加一个锁,使他进来时每次只生成一个UUID,再继续生成下一条,这样就可以避免重复的情况。
代码如下:
String uuid="";
synchronized (uuid) {
uuid = (UUID.randomUUID().toString()).replace("-", "");
}
将代码复制到循环中获取UUID在进行set操作即可。