sionFactory与Session区别以及spring事物配置属性的解释
来源:互联网 发布:阿里云备案教程 编辑:程序博客网 时间:2024/06/05 07:55
1、 getCurrentSession()与openSession()的区别?
* 采用getCurrentSession()创建的session会绑定到当前线程中,而采用openSession()创建的session则不会
* 采用getCurrentSession()创建的session在commit或rollback时会自动关闭,而采用openSession创建的session必须手动关闭
2、使用getCurrentSession()需要在hibernate.cfg.xml文件中加入如下配置:
* 如果使用的是本地事务(jdbc事务)
<property name=”hibernate.current_session_context_class”>thread</property>
* 如果使用的是全局事务(jta事务)
<property name=”hibernate.current_session_context_class”>jta</property>
采用声明式事务
声明式事务配置
* 配置SessionFactory
* 配置事务管理器
* 事务的传播特性
* 那些类哪些方法使用事务
2、编写业务逻辑方法
* 继承HibernateDaoSupport类,使用HibernateTemplate类持久化,HibernateTemplate
是Hibernate session的封装
* 默认的回滚是RuntimeException(包括继承RuntimeException的子类),普通异常不回滚
* 在编写业务逻辑方法时,最好将异常一直往上抛出,在呈现层处理(struts)
* spring的事务需要设置到业务方法上(事务边界定义到Facade类上),不要添加到Dao上
3、了解事务的集中传播忒性
1、PROPAGATION_REQUIRED:如果存在一个事务,则支持当前事务。如果没有事务则开启。
2、PROPAGATION_SUPPORTS:如果存在一个事务,支持当前事务。如果没有事务,则非事务的执行。
3、PROPAGATION_MANDATORY:如果已经存在一个事务,支持当前事务。如果没有一个活动的事务,则抛出异常。
4、PROPAGATION_REQUIRES_NEW:总是开启一个新的事务。如果一个事务存在,则将这个存在的事务挂起。
5、PROPAGATION_NOT_SUPPORTED:总是非事务地执行,并挂起任何存在的事务。
6、PROPAGATION_NEVER:总是非事务地执行,如果存在一个活动事务,则抛出异常。
7、 PROPAGATION_NESTED:如果一个活动的事务存在,则运行在一个嵌套的事务中,如果没有活动事务,则按TransactionDefinition.PROPAGATION_REQUIRED属性执行
4、Spring事务的隔离级别
1、 ISOLATION_DEFAULT: 这是一个PlatfromTransactionManag
2、ISOLATION_READ_UNCOMMITTED:这是事务最低的隔离级别,它允许另外一个事务可以看到这个事务未提交的数据。
3、ISOLATION_READ_COMMITTED:保证一个事务修改的数据提交后才能被另外一个事务读取。另外一个事务不能读取该事务未提交的数据。
4、ISOLATION_REPEATALBE_READ: 这种事务隔离级别可以防止脏读,不可重复读。但是可能出现幻想读。它除了保证一个事务不能读取另外一个事务未提交的数据外,还保证了避免下面的情况产生(不可重复读)。
5、ISOLATION_SERIALIZABLE 这是花费最高代价但是最可靠的事务隔离级别。事务被处理为顺序执行。除了防止脏读,不课重复读外,还避免了幻想读。
- sionFactory与Session区别以及spring事物配置属性的解释
- session与cookie的区别以及配置
- spring事物的配置与详解
- Spring的事物配置
- spring的事物配置
- Spring 事物的配置以及容易出现的错误
- spring之事物属性源配置实例
- Spring的全局事物与局部事物
- spring 事物 传播属性 与 隔离机制
- spring事物属性与隔离级别
- 关于spring的使用事物与不使用事物的区别
- spring的事物配置方式
- spring 事物配置的错误
- spring的事物管理配置
- Spring与JDBC集合以及事物处理
- spring boot(二)spring data jpa以及事物配置
- 详解spring事物属性
- spring 事物传播属性
- ffmpeg 新老接口问题及对照集锦
- Warning: property 'OtherEntrys' not define mapping field , sure?
- ON_NOTIFY http://download.csdn.net/tag/svg
- 技术工程师-年会(五)
- JAVA基础 :request与response转向的区别
- sionFactory与Session区别以及spring事物配置属性的解释
- 性能测试、压力测试、负载测试
- stl模板编程模板参数推导
- (转) NSNotificationCenter
- 关于泛网络游戏模式
- SQL 行列转换
- 连接点击后变色,点击另一个连接则现连接变色,前连接还原
- 题目05302012 [1]
- sws_getContext /sws_scale内存泄露问题