SpringMVC+Spring+Hibernate整合出现Executing an update/delete query问题
2018-01-07 17:13
375 查看
注:整合时如果发现无法进行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
- [置顶] 实践spring data jpa:Executing an update/delete query........
- (hibernate)Executing an update/delete query
- hibernate Executing an update/delete query
- 事务问题,Executing an update delete query
- spring+springmvc+hibernate 整合出现的问题
- Executing an update/delete query(未开启事务)
- 整合spring4和hibernate4出现问题———org.hibernate.service.spi.ServiceException:
- executing an update/delete query
- Hibernate和Spring整合的时候出现问题,注入Action出错
- 解决InvalidDataAccessApiUsageException: Executing an update/delete query
- SpringMVC+SpringSecurity+Hibernate 整合问题
- boke练习: springboot整合springSecurity出现的问题,post,delete,put无法使用
- Spring3.1.1整合Hibernate4.1.2出现的问题
- 在spring,hibernate,struts2框架整合中出现的no session问题
- .TransactionRequiredException: Executing an update/delete query
- 测试用例操作Dao等执行修改或删除抛出Executing an update/delete query
- struts+spring+hibernate整合出现的问题解决方法
- javax.persistence.TransactionRequiredException: Executing an update/delete query异常