1、在配置文件中确保有配置:<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/> 增加该配置代表使用@Transactional注解开启事务管理。
2、在service层加入@Transactional注解开启事务管理,并可对@Transactional的各个属性进行设置,如果是插入或者修改数据需要设置属性readOnly = false如果只是查询可以设置readOnly = true以提高效率
3、如果上述方法不起作用可以尝试增加配置<prop key="current_session_context_class">thread</prop>加入这个配置调用sessionFactory.getCurrentSession()时没有session会创建一个新的session