浏览 5090 次
锁定老帖子 主题:一对多关系时的更新问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2004-03-07
其他操作一切正常 我在更新一个News类的时候,比如改了它的标题,然后提交: News a = session.load(.....);; a.setTitle("AAAA");; session.flush();; session.connection();.commit();; (工程比较大,不能贴全部的源文件!) 它不是修改原有的数据,而是添加一条新数据!怎么回事? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2004-03-07
News a = session.load();
a.setTitle("AAAA"); session.update(a); session.flush(); |
|
返回顶楼 | |
发表时间:2004-03-07
一方:
* @hibernate.set lazy="true" cascade="all" * @hibernate.collection-key column="A_id" * @hibernate.collection-one-to-many class="B" 多方: @hibernate.many-to-one column="B_id" |
|
返回顶楼 | |
发表时间:2004-03-08
wuweixian 写道 News a = session.load();
a.setTitle("AAAA"); session.update(a); session.flush(); 这个方法我是试过了,无效! |
|
返回顶楼 | |
发表时间:2004-03-08
47 [HttpProcessor[8080][4]] ERROR net.sf.hibernate.impl.SessionImpl Could not synchronize database state with session net.sf.hibernate.TransientObjectException: object references an unsaved transient instance save the transient instance before flushing: its.hibernate.WorkFlow
报错信息。 我的流程是这样的 workflow 和evaluteder是一对多的关系 可是当我修改的时候evluateder的表属性的时候,如果evlauateder的表里workflowid是null,修改就报这样的错误,如果workflowid是有值的,那修改就会成功。。请问这个是什么缘故呀? |
|
返回顶楼 | |
发表时间:2004-03-08
两位高手,你们的方法都不行呀!
|
|
返回顶楼 | |
发表时间:2004-03-08
是不是这位兄弟把title属性设置成主键了?
|
|
返回顶楼 | |
发表时间:2004-03-08
主键当然是专门的id
|
|
返回顶楼 | |
发表时间:2004-03-08
引用 News a = session.load();
返回是什么? 是不是应该这样 News a = session.load(news,id);; |
|
返回顶楼 | |
发表时间:2004-03-09
请把涉及到此问题的相关代码贴上来。
|
|
返回顶楼 | |