整合hibernate框架时,使用事务出现500

·使用spring和hibernate整合+struts2整合时,服务器启动没问题,访问action时报错:

HTTP Status 500 - getFlushMode is not valid without active transaction; nested exception is org.hibernate.HibernateException: getFlushMode is not valid without active transaction

首先bean.xml(spring的配置文件)如下:(我是使用注解方式配置)

   

       

       

   

   

   

然后service上加注解:

@Transactional

如上,我都开启了事务,还是出错。查资料查配置文件发现这一条:hibernate.cfg.xml文件中:

thread

就是这个问题,先说一下解决方法:两种方法:

第一种:hibernate3.x及以上的版本可以直接注释掉这条代码,或者删除也行  然后测试,可以完美运行了

第二种:标签值thread改成 : org.springframework.orm.hibernate5.SpringSessionContext    (因为我的hibernate是5.x的版本)最后改成:

org.springframework.orm.hibernate5.SpringSessionContext

然后也可以完美运行

你可能感兴趣的:(整合hibernate框架时,使用事务出现500)