1. 程式人生 > >hibernate中的事物問題放在業務層

hibernate中的事物問題放在業務層

hibernate 事物

在http://blog.51cto.com/13579086/2074232 這篇文章中,講述了兩種方法,將connection怎麽從業務層傳到持久層的

在hibernate中,事物也是要在業務層綁到當前線程的局部變量上,持久層從當前線程的局部變量中取

Hibernate 5 自身提供了三種管理 Session 對象的方法
Session 對象的生命周期與本地線程綁定
Session 對象的生命周期與 JTA 事務綁定
Hibernate 委托程序管理 Session 對象的生命周期

在 Hibernate 的配置文件中, hibernate.current_session_context_class 屬性用於指定 Session 管理方式, 可選值包括

thread: Session 對象的生命周期與本地線程綁定
jta*: Session 對象的生命周期與 JTA 事務綁定
managed: Hibernate 委托程序來管理 Session 對象的生命周期

綁定是通過的部分我們需要在主配置文件中加配置文件

    <property name="hibernate.current_session_context_class">thread</property>

從當前線程中獲取session的方法
sessionFactory.getCurrentSession();

hibernate中的事物問題放在業務層