fxy1111
2011-09-30 15:37
浏览 201
已采纳

关于hibernate中两表关联关系的问题?

假设有A,B两张表,A表中字段B_id对应B表的主键,但是B_id也有可能不和B对应,即B_id字段为空,请问能不能建立A到B的many-to-one关联???????

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • DreamZhong 2011-10-11 18:17
    已采纳

    [quote]a.b.id已经产生对b的调用了,外键为空的情况也是要查出来的[/quote]

    对于这样的需求表示无语。

    select a.b from a where a.b=?

    将对象b作为参数传递,而不是b.id,这样查出来b的集合,然后你自己再去判断如果元素是null就不取id,如果元素不为null就取id

    点赞 打赏 评论
  • DreamZhong 2011-09-30 16:12

    还是按照one-to-many的关联方式来配置,只是当你保存A的时候,如果没有设置B的值,就存的是NULL,这没有什么问题。

    点赞 打赏 评论
  • DreamZhong 2011-09-30 16:13

    还有就是你应该需要在代码中处理没有B时的情况,即A中B为NULL时的情况。

    点赞 打赏 评论
  • DreamZhong 2011-09-30 16:52

    在后面加上限制条件 where a.b!=null

    点赞 打赏 评论
  • 对java有感觉 2011-09-30 21:53

    看你说的B_ID是B表的主键
    主键怎么为空啊
    或者你在加个表的属性看看

    点赞 打赏 评论

相关推荐 更多相似问题