论坛首页 Java版 Hibernate

表的某字段外鍵引用自已的主建。这种方式下我要插入第一条数...

浏览 2032 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2005-03-02
表的某字段外鍵引用自已的主建。这种方式下我要插入第一条数据如何实现。

就是表的自已引用自已。以mony-to-one 的方式。
我在插入第一条数据的时候,并不知道自已的主键是什么。而且外建引用的字段不能为空。怎么实现呢。
   
最后更新时间:2005-03-14
yuanbo127 写道
表的某字段外鍵引用自已的主建。这种方式下我要插入第一条数据如何实现。

就是表的自已引用自已。以mony-to-one 的方式。
我在插入第一条数据的时候,并不知道自已的主键是什么。而且外建引用的字段不能为空。怎么实现呢。

把那个引用字段设为可以为空。
   
0 请登录后投票
最后更新时间:2005-03-15
不为空就不能解决了吗??
如果在save()能得到那个主键就可以解决问题,但问题是hibernate有这样的功能吗???有的话如何实现呢,
反正我没有见过
   
0 请登录后投票
最后更新时间:2005-03-15
把那个引用字段设为可以为空。[/quote]


?????不能为空
   
0 请登录后投票
最后更新时间:2005-03-15
不能为空那你怎么加parent的数据??
   
0 请登录后投票
最后更新时间:2005-03-15
将ID生成方式设置为assigned,然后手工用sequence生成一个ID,再把该值付给这两个字段不就行了吗?
   
0 请登录后投票
最后更新时间:2005-03-15
我的解决办法是,第一条语句中,这两个字段的值设置成一样,
但是如果采用many-to-one和one-to-many去对照的话,
第一条数据应当手工加入数据库,不然则找不到相应的数据。

不知道是否是正确的办法,但是是可行的
   
0 请登录后投票
最后更新时间:2005-03-15
yuanbo127 写道
不为空就不能解决了吗??
如果在save()能得到那个主键就可以解决问题,但问题是hibernate有这样的功能吗???有的话如何实现呢,
反正我没有见过



save()能得到那个主键就能解决?如果能解决,那应该不是按照映射关联关系
去实现了。不然many-to-one的映射中,插入第一条时候如何找到one?
   
0 请登录后投票
最后更新时间:2005-05-10
yuanbo127 写道

?????不能为空

为什么不能为空?外键并不意味着不能为空值。概念搞错了吧。
   
0 请登录后投票
论坛首页 Java版 Hibernate

跳转论坛:
JavaEye推荐