lele0326 2014-09-25 00:53
浏览 227
已采纳

关于spring mvc + hibernate+spring 用户在不同客户端同时插入数据的问题

例如在签到模块中,一天一个用户只能签到一次,签到后向数据库中插入一条记录,在controller中先判断此用户是否当天已经签到,如果用户同时在不同处登录点击签到按钮,也就是同时访问controller,假如当天这个用户还没有签到,那么同时访问controller去查询数据库两个客户端都会得到还没有签到的结果,随即同时都向数据库插入了签到数据。那么就造成了一个用户在签到表中有两条当天的签到记录,这种情况该怎么避免呢?请高手给解惑,谢谢了。

  • 写回答

4条回答 默认 最新

  • huozhedecctv 2014-09-25 17:55
    关注

    使用一个统一的锁,在查询判断前锁定,插入后释放锁;那么另一个客户端只能在你插入后才能进行查询,如果重复了,不让插入

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?