(SSH)怎样用 HibernateDaoSupport save 一对多(双向)

1、我建立了表:t_bbs(一的一端)和t_rebbs(多的一端).其中t_rebbs的bbs_id是外键也是t_bbs的主键2、再创建了两个类:bbs和rebbs.bb... 1、我建立了表:t_bbs(一的一端) 和 t_rebbs(多的一端).
其中 t_rebbs的bbs_id是外键 也是t_bbs的主键

2、再创建了两个类:bbs 和 rebbs.
bbs里设置了private Set rebbes;
rebbs设置了private bbs bbsu;
3、这两个类的 <set>和<many-to-one>标签也设置了
4、我是这样调用他们的:
流程 a.jsp --> b.jsp --> action --> c.jsp
a.jsp里把bbs里的属性显示出来(这时的bbs里还没有任何rebbs的东西),
这时我来到b.jsp里在文本框里,添加了rebbs的属性后再提交到 action里
调用rebbs.setbbs(把当前bbs通过request传递过来);
然后用Dao类.save(rebbs); //用debug发现就到这一句抛了异常。
//我也试过先把rebbs保存到Set里 再把Set保存到bbs里结果也不行;
希望各位大侠能救助小弟 小弟感激不尽
得先谢谢2 楼的大哥 可是还有问题 虽然不报异常了可是Spring没有存入数据里
应该多的一端的外键立刻就有这一的一端的主键 可是我一查里面外键的部分是空的 并没有关联
具体的源码我放到里我的空间里了 http://hi.baidu.com/聪头/blog (包括汉字)
拜托了!!
展开
 我来答
smluyi
2009-03-09 · TA获得超过1356个赞
知道大有可为答主
回答量:515
采纳率:0%
帮助的人:827万
展开全部
set.add(rebbsu);前rebbsu保存完属性后一定要set一下bbs!很重要
rebbsu.setBbs(bbs);再试试楼主,不行hi我
*********************************************************************
在set标签中设置inverse=true,由bbs来控制两者关系,

这样保存然后
BBs bbs=new BBs();
bbs.set属性...

Rebbs rebbs=new Rebbs();
rebbs.set属性...
rebbs.setBbs(bbs);
bbs.getRebbes.add(rebbs);

然后保存,再试试楼主
储利玉2i
2009-03-07 · TA获得超过1157个赞
知道小有建树答主
回答量:954
采纳率:0%
帮助的人:497万
展开全部
占个位,关注一下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
newission
2009-03-09 · TA获得超过696个赞
知道小有建树答主
回答量:199
采纳率:0%
帮助的人:181万
展开全部
首先,不报错的原因肯定是你的rebbs对象配置<many-to-one>时没有设置not-null属性,把not-null设置为真就会报错的。你想啊,一个回复的外键BBS肯定是不能为空的!
上面的大哥说的很好,在你保存之前必须双向都吧对象属性添加进去。既要bbs.setRebbs();
然后rebbs.setBbs();
因为你说双向关联的,所以两边都必须添加。
然后再save(bbs);应该没什么问题了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
在天湖山弹吉他的米老鼠
2009-03-09 · TA获得超过2064个赞
知道小有建树答主
回答量:1546
采纳率:100%
帮助的人:1052万
展开全部
在你的表映射文件里有关联的属性中加上
cascade="all"
然后才可以级联更新

我现在不清楚你出了什么异常 连异常都不贴是没办法解决问题的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式