碰到一个问题请教各位,Hibernate乐观锁对于集群环境或者多台服务器部署的情况下到底起不起作用?
我的理解是不起作用,但其他同事觉得起作用,大家想法不统一!
我理解的原因是:Hibernate的Update到实际体现的到数据库中总有一段时间差,如果另一线程在这时间差中又update了,将会导致两个 update都通过,而且后者覆盖前者的更新。
希望各位解答下,顺便说明一下原因,谢了。
我的理解是不起作用,但其他同事觉得起作用,大家想法不统一!
我理解的原因是:Hibernate的Update到实际体现的到数据库中总有一段时间差,如果另一线程在这时间差中又update了,将会导致两个 update都通过,而且后者覆盖前者的更新。
希望各位解答下,顺便说明一下原因,谢了。
解决方案 »
- JAVA怎么才能实现这样的统计图,希望大家给点建议!
- 新手,问一个ssh2的问题。
- JFrame中的JComboBox怎样才能,全部表示出来,而不是只表示选中的一条。
- Java安装环境变量的问题
- 来者有分:hibernate里面连接数据库时用JDBC和JNDI的区别是什么?一般用那种多?
- 求lomboz
- struts中嵌套标签的使用,请教
- 使用Tomcat的数据库连接池,Connection用完后要关闭吗???
- 一个jbuiler9+weblogic7 开发EJB的问题,急???
- --在线等待--c++里发的消息在java里怎么接收
- springmvc中controller配置成单例和原型的有什么区别
- 奇怪的问题
我的意思是说,一线程比较一致了然后也update了但由于是Hibernate管理的,所以并不能立即提交到数据库(中间肯定有时间差),这时间差中间又一线程(来自不同服务器JVM不同)来更新,然后乐观锁比较也通过了
如果你能证明乐观锁是数据库级别而不是hibernate自己实现的,或者第一个线程的更新从Hibernate的更新到反应到数据库间没有时间差,那么命题就是成立的!
for update 对于hibernate来说是悲观锁,我觉得你应该指的是for update nowait
hibernate乐观锁用的就是这个,如果是这个的话,我觉得就没问题了!非常感谢!