SpringMVC+Spring+Hibernate整合出现Executing an update/delete query问题
2018-02-02 12:28
549 查看
注:整合时如果发现无法进行update/delete情况的朋友们可以看一下本文。
原因:spring在加载时首先是加载spring框架声明的bean,也就是说最开始的时候带有事务管理的service类是加载了的,然后加载springMVC的类,这时候由于我在springMVC的包扫描配置的地方并没有过滤而是全局扫描注解,然后扫描到之前已经加载了的service类时,又生成了一遍,并且spring有这种机制如果子容器中有父容器相同的类那么将默认使子容器自己的类,这里的service并没有经过事务处理因为是由springMVC生成的,那么在springMVC的controller调用的时候自然也就没有事务了;
解决:
1. 将原本写在springMVC的配置文件中的<context:component-scan>及注解驱动等内容移动到spring的配置文件中;
2. 添加事务的注解驱动,开启事务注解功能
<tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven>
注:transactionManager为事务bean的id;
3. 在service层或dao层新增注解:
@Transactional(propagation = Propagation.REQUIRED)
若标记在类上,则表明此类所有方法都进行事务处理;
PS:使用此方法后,无需在spring的配置文件中另行配置事务属性以及切点;
原因:spring在加载时首先是加载spring框架声明的bean,也就是说最开始的时候带有事务管理的service类是加载了的,然后加载springMVC的类,这时候由于我在springMVC的包扫描配置的地方并没有过滤而是全局扫描注解,然后扫描到之前已经加载了的service类时,又生成了一遍,并且spring有这种机制如果子容器中有父容器相同的类那么将默认使子容器自己的类,这里的service并没有经过事务处理因为是由springMVC生成的,那么在springMVC的controller调用的时候自然也就没有事务了;
解决:
1. 将原本写在springMVC的配置文件中的<context:component-scan>及注解驱动等内容移动到spring的配置文件中;
2. 添加事务的注解驱动,开启事务注解功能
<tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven>
注:transactionManager为事务bean的id;
3. 在service层或dao层新增注解:
@Transactional(propagation = Propagation.REQUIRED)
若标记在类上,则表明此类所有方法都进行事务处理;
PS:使用此方法后,无需在spring的配置文件中另行配置事务属性以及切点;
相关文章推荐
- SpringMVC+Spring+Hibernate整合出现Executing an update/delete query问题
- hibernate事物问题-- Executing an update/delete query
- 事务问题,Executing an update delete query
- (hibernate)Executing an update/delete query
- spring+springmvc+hibernate 整合出现的问题
- [置顶] 实践spring data jpa:Executing an update/delete query........
- hibernate Executing an update/delete query
- javax.persistence.TransactionRequiredException: Executing an update/delete query
- javax.persistence.TransactionRequiredException: Executing an update/delete query
- spring+springmvc+hibernate整合后,form表单传值问题
- 解决InvalidDataAccessApiUsageException: Executing an update/delete query
- Struts Spring Hibernate 框架整合时候出现的问题
- Executing an update/delete query(未开启事务)
- SpringMvc+Mybatis整合hbase时出现的问题
- javax.persistence.TransactionRequiredException: Executing an update/delete query
- Spring与Hibernate整合中,使用OpenSessionInViewFilter后出现sessionFactory未注入问题
- 整合spring4和hibernate4出现问题———org.hibernate.service.spi.ServiceException:
- Maven+SpringMVC+Hibernate+ajax:用ajax传递json到前台中文出现问号乱码问题
- .TransactionRequiredException: Executing an update/delete query
- javax.persistence.TransactionRequiredException: Executing an update/delete query异常