一旦我进入我的转换方法,我就不会在我的日志中获得以下行
"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方法后启动会话。
答案 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进行事务管理