Java的Hibernate框架数据库操作中锁的使用和查询类型
要想弄清楚锁机制存在的原因,首先要了解事务的概念。下面来看Hibernate的例子,两个线程分别开启两个事务操作tb_account表中事务1将col_balance减小100,而事务2将其减少100,最终结果可能是0,也由此可见,隔离性是一个需要慎重考虑的问题,理解锁很有必要。修改前面的例子,Hibernate对于SQLServer 2005会执行SQL:2.乐观锁:假定当前事务操作的数据不会有其他事务同时访问,因此完全依靠数据库在Hibernate中,使用Version注解来定义版本号字段。将DirtyLock中的Account对象替换成AccountVersion,其他代码不变,执行出现异常。这在需要Hibernate也支持直接执行SQL的查询方式。这种方式牺牲了Hibernate跨下面来看一组简单的例子。从log中可以清楚的看到Hibernate对于生成的SQL语句的控制,具体选择
下载地址
用户评论