hibernate的乐观锁与悲观锁,映射文件的配置,常见的异常

悲观锁,之所以叫悲观锁,是因为过于悲观,不够动态与灵活,原理是基于数据库(mysql,oracle)自带的锁的隔离机制,相当于java中线程中的同步锁,只能等待其他线程释放锁才能执行,所以说效率肯定不高.

乐观锁,就比悲观锁灵活多了,其实它没有加锁,效率比悲观锁高,它是在数据库表中额外添加一个字段(版本version),没对表更新操作都会在该字段上的值累加1,例外的人访问比较这两者的值,如果相等则更新,不相等就不更新.


在hibernate映射文件中在many-one标签中 添加一个属性 not-found="ignore"可以解决hibernate一个常见的异常,字段不存在的异常,(not-exits)


hibernate3.hibernateSystemException:null value was assigned to a property of primitive type setter of .....是数据库中某个字段没有值引起的异常,添加默认值即可解决

猜你喜欢

转载自jianhao-wang.iteye.com/blog/2039481