spring问题.....声明式事务不能回滚

妖精的舌头 2007-10-07 06:10:38
各位:
我用TransactionProxyFactoryBean给类添加事务时.它插入数据出错时可以回滚,但当我设定不同的TransactionInterceptor来进行事务管理时,出错了它不回滚,这是怎么回事,急切请教
以下是部分代码和文件配置
applicationContext.xml:
<bean id="transactionInterceptor" name="tit"
class="org.springframework.transaction.interceptor.TransactionInterceptor"
abstract="false" lazy-init="default" autowire="default"
dependency-check="default">
<property name="transactionManager">
<ref bean="transactionM" />
</property>
<property name="transactionAttributeSources">
<list>
<value>com.userDAO.inserM=PROPAGATION_REQUIRED</value>
</list>

</property>
</bean>
<bean id="usertrProxy" name="utrp"
class="org.springframework.aop.framework.ProxyFactoryBean"
abstract="false" lazy-init="default" autowire="default"
dependency-check="default">
<property name="proxyInterfaces">
<value>com.IUserADO</value>
</property>
<property name="target">
<ref bean="userdao" />
</property>
<property name="interceptorNames">
<list>
<value>transactionInterceptor</value>
</list>

</property>
</bean>

以下是类(IUserADO.class)里定义的需要帮定事务的方法:
public void inserM(User user)
{
// TODO Auto-generated method stub
jt.update("insert into usermsg (name,sex) values(?,?)",
new Object[]{user.getName(),user.getSex()});
jt.update("inser into usermsg (name,sex) values('qqqqq',80)");
// 注意:第二条语句是错误的,inser少个t,按道理说是会回滚的,就是连第一条也不应该执行,但它却执行了第一条,这不对,请教高手.......

}
...全文
73 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧