关联映射

无人久伴 提交于 2020-01-07 15:46:42

在关系型数据库中,多表之间存在三种关联关系:

  • 一对一:一张身份证对应一个人 <=> 一个人也只对应一张身份证
  • 一对多:一个用户可以有多个订单 <=> 这多个订单属于同一个用户
  • 多对多:一个订单可以包含多种商品,一种商品可以属于多个订单。

 

 


 

 

创建数据库时如何处理这三种关联关系?

  • 一对多:在任意一方引入对方的主键作为外键。
  • 一对多:在多的一方,引入“一”的一方作为外键。
  • 多对多:新建一张中间表,引入2张表的主键作为外键,使用这2个主键作为联合主键,或者使用新的字段作为主键。

 

 


 

 

JAVA如何处理、描述三种关联关系?

  • 一对一
class A{
    B b;
}

class B{
    A a;
}

 

 

  • 一对多
class A{
    List<B> b;
}

class B{
    A a;
}

 

 

  • 多对多
class A{
    List<B> b;
}

class B{
    List<A> a;
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!