为了账号安全,请及时绑定邮箱和手机立即绑定

数据库插入代码的问题

数据库插入代码的问题

qq_笑_17 2019-03-13 14:15:09
先看代码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);        }某个方法中的内容是这样的,按照这段代码的逻辑,是数据库不应该出现两条一模一样的数据,但是实际情况却有时候会出现插入了两条一模一样的数据.可能是并发造成的么?具体不是太懂;望高手们能帮忙解决一下;
查看完整描述

2 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

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


查看完整回答
反对 回复 2019-04-25
?
九州编程

TA贡献1785条经验 获得超4个赞

看数据库的主键吧,如果主键是 openId的话,应该是不会出现2条一摸一样的数据
另外,save方法里,应该是createOrUpdate的逻辑吧

查看完整回答
反对 回复 2019-04-25
  • 2 回答
  • 0 关注
  • 323 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号