其他分享
首页 > 其他分享> > Could not obtain transaction-synchronized Session for current thread

Could not obtain transaction-synchronized Session for current thread

作者:互联网

原因

必须要将使用

sessionFactory.getCurrentSession()

获取session的代码所在的方法加入到事务管理器中;否则获取不到session了

sessionFactory.getCurrentSession()是要基于事务的,才能实现session生命周期的管理

解决

添加事务注解
再使用了获取当前session的方法上添加
@Transactional(readOnly=true) 或 只写@Transactional

或者直接在整个service类上加入
需要在spring配置文件中开启 注解模式

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

<tx:annotation-driven transaction-manager="transactionManager"/>

标签:事务,transaction,thread,synchronized,getCurrentSession,Transactional,sessionFactor
来源: https://blog.csdn.net/weixin_44131922/article/details/119490228