一旦我们进入方法,@ transnsaction方法就不会启动会话

时间:2018-04-24 08:36:27

标签: java spring hibernate

一旦我进入我的转换方法,我就不会在我的日志中获得以下行

"2018-04-24 12:44:02,545 [http-nio-8080-exec-6] DEBUG org.hibernate.internal.SessionImpl.<init> 243  - Opened session at timestamp: 15245540425
""2018-04-24 12:44:02,546 [http-nio-8080-exec-6] DEBUG o.h.e.t.spi.AbstractTransactionImpl.begin 158  - begin
""2018-04-24 12:44:02,546 [http-nio-8080-exec-6] DEBUG o.h.e.j.i.LogicalConnectionImpl.obtainConnection 295  - Obtaining JDBC connection
""2018-04-24 12:44:02,546 [http-nio-8080-exec-6] DEBUG o.h.e.j.i.LogicalConnectionImpl.obtainConnection 301  - Obtained JDBC connection
""2018-04-24 12:44:02,546 [http-nio-8080-exec-6] DEBUG o.h.e.t.i.jdbc.JdbcTransaction.doBegin 69  - initial autocommit status: true
""2018-04-24 12:44:02,546 [http-nio-8080-exec-6] DEBUG o.h.e.t.i.jdbc.JdbcTransaction.doBegin 71  - disabling autocommit

我期待上面的log.but它只在调用dao方法后启动会话。

1 个答案:

答案 0 :(得分:0)

<bean id="txManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> <property name="sessionFactory"> <ref bean="sessionFactory" /> </property> </bean>

首先检查此标记中的正确Hibernate版本。

其次,需要做的是从applicationContext.xml文件中删除Hibernate属性的以下行:

<prop key="hibernate.current_session_context_class">thread</prop>

一旦删除,Hibernate就会使用Spring进行事务管理