如果不是oracle呢,怎么处理合适呢?比如mssql

解决方案 »

  1.   

    to ROBBER:
     请教一下,我对锁的理解哪里出问题了,我说的情况难道不存在吗?
      

  2.   

    由于oracle的锁机制只在一个事务中有效。现在取数据和修改数据是在两个事务中完成,oracle就无能为力了。
    这句话理解有问题
    哈哈
      

  3.   

    我明白楼主的意思,但这个和ORACLE,mssql是基本无关的
    都有这个问题的建议用楼主所说的开发锁策略如果对已有程序的修改,而不想改数据库,那势必要搞一个临时表,其实就是类似于日志,当一个用户进入编辑画面,就存入相关信息
      

  4.   

    to yiboo(bboonnee) ( ) :
     我的意思是oracle在事务结束后锁也释放了,在取数据的时候锁住记录,等到要修改的时候锁已经释放了。 lawrace(岱凌) 的方法也是可以的。
    我是想了解大家在做项目的时候,这种情况考虑进去吗?
      

  5.   

    to: linubert(http://www.gamelife.com.cn)
    这当然不行了,我现在的事务都是交给spring处理的,它不支持跨request的事务。
      

  6.   

    回复 lvzhoudev() :不是在客户端调用两个函数, 这可能有问题.
    是在中间件中再提供一个新接口,在新接口中将原来的两个函数放在一个事务里。从概念上说,事务处理是属于底层的东东,应该由底层infrastructure封装,在商业逻辑层上实现是相当不明智的!至于你说的方法,我还未细想过,但如果真正实现的完整一些,其实也就是做了db做的事,并发控制!你实际上将DB的实现在应用层再实现一次,有必要吗?换个思路。