hibernate学习:事务相关知识

一:三种常见的事务异常:脏读:读了另外一个事务的还没有提交的数据不可重复读:同一个事务前后读到的数据不一致幻读:读的过程中,另外一个事务可能添加或者删除数据,影响了当前事务的读取二:数据库的事务隔离机制:数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题Read uncommitted:不能解上述三种异常Read committed :可以读没有提交的数据:可以解决脏读Repeatable read: 可重复读。给数据加锁:可以解决不可重复读Serializable:不允许并发。事务级别越高,效率越低!通常使用:Read committed三:Hibernate设置隔离级别每一种隔离级别对应着一个正整数。Read Uncommitted: 1Read Committed: 2Repeatable Read: 4Serializable: 8在hibernate.cfg.xml中设置隔离级别如下: <session-factory><!– 设置JDBC的隔离级别 –><property name="hibernate.connection.isolation">2</property></session-factory>设置之后,在开始一个事务之前,Hibernate将为从连接池中获得的JDBC连接设置级别。需要注意的是,在受管理环境中,如果Hibernate使用的数据库连接来自于应用服务器提供的数据源,

Hibernate不会改变这些连接的事务隔离级别。在这种情况下,应该通过修改应用服务器的数据源配置来修改隔离级别。

———————————–!!!———————————-事务级别通常使用:Read committed 解决了脏读,但是不能解决重复读问题,Hibernate可以通过加悲观锁,,乐观锁来解决Repeatable read问题

回避现实的人,未来将更不理想。

hibernate学习:事务相关知识

相关文章:

你感兴趣的文章:

标签云: