spring + hibernate , 弄了半天,还是不会回滚,哪位大虾帮帮忙
下面是配置事物的部分xml <aop:aspectj-autoproxy></aop:aspectj-autoproxy>
<aop:config>
<aop:pointcut id="transacionPointcut" expression="execution(* com.serviceImpl.UserServImpl.*(..))"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="transacionPointcut"/>
</aop:config>
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="do*" rollback-for="Exception" propagation="REQUIRED"/>
<tx:method name="*"/>
</tx:attributes>
</tx:advice>
<bean id="userDao" class="com.dao.impl.UserDaoImpl" autowire="byName"></bean>
<bean id="userServ" class="com.serviceImpl.UserServImpl">
<property name="userDao" ref="userDao">
</property>
</bean>
</beans>这个是我要拦截的方法
public void doSomething() throws RuntimeException{
User user1 = new User();
user1.setName("测试1");
user1.setPassword("123");
userDao.insertUser(user1);
User user2 = new User();
user2.setName("测试2");
user2.setPassword("123");
userDao.insertUser(user2);
throw new RuntimeException("例外");
}
不知道为什么不会回滚
下面是配置事物的部分xml <aop:aspectj-autoproxy></aop:aspectj-autoproxy>
<aop:config>
<aop:pointcut id="transacionPointcut" expression="execution(* com.serviceImpl.UserServImpl.*(..))"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="transacionPointcut"/>
</aop:config>
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="do*" rollback-for="Exception" propagation="REQUIRED"/>
<tx:method name="*"/>
</tx:attributes>
</tx:advice>
<bean id="userDao" class="com.dao.impl.UserDaoImpl" autowire="byName"></bean>
<bean id="userServ" class="com.serviceImpl.UserServImpl">
<property name="userDao" ref="userDao">
</property>
</bean>
</beans>这个是我要拦截的方法
public void doSomething() throws RuntimeException{
User user1 = new User();
user1.setName("测试1");
user1.setPassword("123");
userDao.insertUser(user1);
User user2 = new User();
user2.setName("测试2");
user2.setPassword("123");
userDao.insertUser(user2);
throw new RuntimeException("例外");
}
不知道为什么不会回滚
解决方案 »
- 动态修改WebService的URL
- Struts2的jar包 ,用User library的形势导入为什么会报错?
- 学ext还是flex有前途
- 求助JSP乱码
- mybatis动态创建表
- hibernate+struts+spring的例子
- EJB引用的jar文件应该放在哪里?
- 服务器端用java的serversocket,客户端用VC写的csocket,它们之间能正常接发数据吗?
- 网上有没有什么现成的邮件系统啊(javamail做的),就像新浪或者搜狐邮件那样的
- 关于struts2的问题,关于ActionContext的。
- 请教Spring + Hibernate进行开发时,session关闭问题
- web项目文件路径问题
郁闷了很久
但是还是没起作用。。
能告诉我你是怎么配置引擎的么。
修改数据表引擎用:alter table 数据表名 engine = "InnoDB";
如果是InnoDB的话就不用改啦
autocoomit是事务,根据mysql的文档如果等于1是立即提交,但在transction中只有遇到commit或rollback才提交