关于Hibernet级联更新的问题
伍子V5 2006-09-01 12:19:28 有一个公告表Bbs,一个用户表User
公告如果发布了,有发布人,如果没有发布,则为空
所以Bbs跟User是<many-to-one>的关系
在Bbs类中,user的set方法定义是
public void setUser(User user) {
if(user==null) {
this.user=new User();
} else {
this.user = user;
}
}
这样才能保证在Struts标签中使用bbs.user.name不出错
但这样也会导致
当保存没有发布人的Bbs时,出错:
Could not synchronize database state with session
net.sf.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: com.coscoqd.oa.model.User
根据我的判断应该是保存Bbs时也要保存或更新User
可是我并没有设置级联更新,不知道如何才能取消级联功能