一个spring中弱弱但纳闷的问题

funking 2008-07-13 10:00:20
我在执行声明式事务操作的时候,将一个userBiz的saveUsers纳入事务管理并且设置为required属性,可是在执行当中出错却没有进行事务回滚。代码如下:
Users user = new Users();
user.setLogname("yyy");
user.setPass("yyy");
user.setStoreid(1);
userDao.save(user);

user = new Users();
user.setLogname("zzz");
user.setPass("yyy");
userDao.save(user);
user中storeid为必填项。不知道何解。
...全文
90 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
funking 2008-07-15
  • 打赏
  • 举报
回复
同样都是约束啊,主键的唯一约束为什么可以导致事务回滚呢?
<bean id="biz1" class="com.biz.UserBiz">
<property name="dao">
<ref bean="UsersDAO" />
</property>
</bean>
<bean name="/login" class="com.web.action.LoginAction">
<property name="biz">
<ref bean="biz" />
</property>
</bean>
<bean id="hib3TransactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sh" />
</bean>

<bean id="biz"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager"
ref="hib3TransactionManager" />
<property name="target" ref="biz1"></property>
<property name="transactionAttributes">
<props>
<prop key="ddsave*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
。。。。

public void saveTwoUser() {
IUsers user = new Users();
user.setId(1);
user.setLogname("yyy");
user.setPass("yyy");
user.setStoreid(1);
dao.save(user);

user.setId(2);
user.setLogname("yyy");
user.setPass("yyy");
//user.setStoreid(1);
dao.save(user);
}
id为标示,设置为assigned
storeid没有设置not-null
qq278095755 2008-07-14
  • 打赏
  • 举报
回复
lz贴出你的错误,还有你声明事务的代码
jinxinzhang 2008-07-14
  • 打赏
  • 举报
回复
估计是某个主键,或者数据库设置为not null
wangshizhu79 2008-07-14
  • 打赏
  • 举报
回复
你把配置文件贴出来看看
还有错误提示
jinxinzhang 2008-07-14
  • 打赏
  • 举报
回复
你都说了 user中storeid为必填项。

67,513

社区成员

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

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