精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2013-02-26
还有就是查看操作的数据库表的引擎是否支持事务,也许根本就不支持呢?
|
|
返回顶楼 | |
发表时间:2013-02-26
scriptguy 写道 还有就是查看操作的数据库表的引擎是否支持事务,也许根本就不支持呢?
查看过我的MySql数据库表格。表格格式为InnoDB.是属于支持事务的啊。 我已经把工程放在附件中了。不知道有没有时间可以帮我看看到底问题在哪里啊? |
|
返回顶楼 | |
发表时间:2013-02-26
最后修改:2013-02-27
这个改成接口试试
<aop:pointcut id="allManagerMethod" expression="execution(* login.dao.HelloDao.*(..))" /> Spring的这个pointcut只是对Interface起作用的。 对impl反而拦截不了。 |
|
返回顶楼 | |
发表时间:2013-02-27
<tx:method name="insert*" propagation="REQUIRED" rollback-for="Exception" />试试
|
|
返回顶楼 | |
发表时间:2013-02-27
你的baseDao怎么写的呢
|
|
返回顶楼 | |
发表时间:2013-02-27
dingchao.lonton 写道 你的baseDao怎么写的呢
有附件 |
|
返回顶楼 | |
发表时间:2013-02-27
dwangel 写道 这个改成接口试试
<aop:pointcut id="allManagerMethod" expression="execution(* login.dao.HelloDao.*(..))" /> Spring的这个pointcut只是对Interface起作用的。 对impl反而拦截不了。 如果配置为接口实现层的话,也可以实现拦截的。我测试过了。 <tx:method name="insert*" propagation="REQUIRED" rollback-for="Exception" />红色这部分需要添加。之前可能配置了但是tx:method这部分写错了,调来调去没有测试所有的组合可能。 |
|
返回顶楼 | |
发表时间:2013-02-27
fangfumin 写道 <tx:method name="insert*" propagation="REQUIRED" rollback-for="Exception" />试试
嗯。可能我之前哪里配置错误了,原先也按你这么写一直调不通,这次可能配置合理了,少了rollback,是无法实现回滚的。谢谢啦。 |
|
返回顶楼 | |
发表时间:2013-03-01
最后修改:2013-03-01
SQLException是需要检查的,只有转成unchecked异常才会有效果,或者在你的xml里边指定事务回滚异常类型为SQLException
|
|
返回顶楼 | |
发表时间:2013-03-02
要throw出来,你自己已经在方法中catch了,外层的代理不会收到异常~~~
catch(Exception e){ throw e; } |
|
返回顶楼 | |