数据库插入代码的问题
高洛峰
高洛峰 2016-11-08 13:31:07
0
1
340

先看代码

WxUser wxUser = wxUserRepository.findByOpenId(openId);
        if (wxUser == null) {
            wxUser = new WxUser();
            wxUser.setPoints(points);// 首次积分
            wxUser.setFirstExchange(true);
            wxUser.setOpenId(openId);
            wxUser.setWxName("");
            wxUser.setWxImgUrl("");
            wxUser = wxUserRepository.save(wxUser);
        } else {
            wxUser.setPoints(points);// TODO: 2016-10-18
            wxUser = wxUserRepository.save(wxUser);
        }

某个方法中的内容是这样的,按照这段代码的逻辑,是数据库不应该出现两条一模一样的数据,但是实际情况却有时候会出现插入了两条一模一样的数据.可能是并发造成的么?具体不是太懂;望高手们能帮忙解决一下;



高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

Antworte allen(1)
三叔

并发可能造成这个问题,但是你这里写得也有问题的在else里面应该是update,不是save

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage