请问hibernate中 一对一关联映射的主键映射和外键映射的区别在哪?
请问这两种映射有哪些相同和不同?什么情况下用主键映射什么情况下用外键映射?两种映射的利弊有哪些?求大神回答...
请问这两种映射有哪些相同和不同?什么情况下用主键映射什么情况下用外键映射?两种映射的利弊有哪些?求大神回答
展开
2个回答
展开全部
一对一需要外键映射吗 应该不需要吧 只有在一对多 多对多时候才有外键映射
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
关联的方向可分为单向关联和双向关联除了需要考虑关联的方向问题,还需要考虑关联双方的数量问题一对一(One to One)一对多(One to Many)多对一(Many to One)多对多(Many to Many),
当从表中的外键即是主键时,称为基于主键的一对一关联主表的hbm.xml中使用<one-to-one>配置从表的hbm.xml中也使用<one-to-one>配置,同时使用<generator class=“foreign”>,指定其主键与外键相同。
当从表中的外键拥有uinique约束时,称为基于唯一外键的一对一关联主表的hbm.xml中使用<one-to-one>配置从表的hbm.xml中使用<many-to-one>配置,并指定unique属性为true
基于主外键的一对多关系主表的hbm.xml中,
使用<one-to-many>从表的hbm.xml中,使用<many-to-one>
双向的一对多/多对一关系是现实中最为常见的关联关系。
当从表中的外键即是主键时,称为基于主键的一对一关联主表的hbm.xml中使用<one-to-one>配置从表的hbm.xml中也使用<one-to-one>配置,同时使用<generator class=“foreign”>,指定其主键与外键相同。
当从表中的外键拥有uinique约束时,称为基于唯一外键的一对一关联主表的hbm.xml中使用<one-to-one>配置从表的hbm.xml中使用<many-to-one>配置,并指定unique属性为true
基于主外键的一对多关系主表的hbm.xml中,
使用<one-to-many>从表的hbm.xml中,使用<many-to-one>
双向的一对多/多对一关系是现实中最为常见的关联关系。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询