有几个用户同时对数据进行操作,那么如何防止对同一条数据的同时删除呢?
或者是说在同一个页面上,一个人对一条数据删除,另一人的页面不是不会知道这条数据已经不存在数据库里了。
那么防止这样的操作产生的数据库错误呢。

解决方案 »

  1.   

    synchronize的方式嘛(估计单词拼写错误)
    对于查询等操作的语句需要使用这样的方式
    并且采用事务提交
    就肯定行的
    如果不嫌麻烦的话
    可以在事务提交里先查询再删除
    这样就肯定没问题了
    这里利用事务本身的性质来做的
    就是可能对数据库操作多一点
    或者使用事务
    然后里面写一个sql语句
    例如delect .... select....
    懂了吧祝你成功
      

  2.   

    谢谢你。
    你是说悲观锁吗?for update依然同一楼所说要每次删除之前都查询一下?.那么在在JPA中如何使用呢?
      

  3.   

    直接删除,try catch
    catch后把相关信息返回页面
      

  4.   

    谢谢,我去看看JPA如何使用悲观锁。在一个顾虑就是难道我每次删除之前都需要查询吗?
      

  5.   


    乐观锁 足够了 
    http://rmeebh.javaeye.com/blog/412179
      

  6.   

    我这边电脑不太好调整
    是公司的电脑
    所以不太好引用如果使用SQL语句
    当然没什么了啊但是如果使用封装技术例如Hibernate的话
    情况就不一样了涉及到的问题会很多
    例如Hibernate删除一个主键会报错的!!!!而且lz提出的问题本身是很尖锐的
    实时性和多线程性一致是网站开发的难题你自己使用的时候不会达到真正网站的那种流量
    所以看不到数据在同一时间被多个人同时删除的现象的