常见表关系

1.什么是一对多 最多
2.什么是多对一
3.什么是多对多 第二多
3.什么是一对一 最少
一、单向一对多One ToMany操作
1.实现规则
1、注解
1)@OneToMany
1>含义:设置一对多关联
2>属性:
1<cascade
2<fatch
1^获取数据的方式
2^LAZY 懒加载 初始查询是不能主动加载数据,当使用该属性才会加载,减少 资源占用
3^即使加载 主动加载数据等待使用
2)@JoinColumn
1>含义:
2>属性
2、流程
二、单向多对一ManyToOne操作
1.实施规则
1、注解
1)@ManyToOne
1<含义 设置多对一关联
2<属性
1>targetEntity
1^设置关联的一的一方的实体类
2^例如targetEntity=Father.class
2>fetch
3>cascade
2)@JoinColumn
2、流程
2.案例
3.练习
三、双向多对一操作
1.实施规则
1、注解
1)@OneToMany
1<设置一对多关联
2<属性
1>mappedBy
1^mappedBy属性:用于标识主表,设置主表实体类在从表实体类中的引用关系
2^谁使用mappedBy谁是主表|关系被维护者
3^mappedBy指向谁,谁是从表|关系维护着
2>cascade
2)@ManyToOne
3)@JoinColumn
4)忽略JSON解析
5)一|主实体类
1<@OneToMany
2<mappedBy标注主表 设置从表实体类的引用属性
6)多|从实体类
1<@ManyToOne
2<@JoinColumn
7)从表实体类使用mappedBy属性,从表实体类使用@JoinColumn
2、流程

四、多对多ManyToMany操作
五、一对一OneToOne操作

设置多对多关系
在明星可以查询粉丝有谁 谁被关注了
实体类还是集合

@ManyToMany 标注多对多关系
@JoinTable 设置多对多里面关联的第三张表
期中可以设置具体的和某一个字段的关联关系
name指定关系的表名
@JoinClumns 指定当前实体类在中间表的外键关系
inverseJoinColumns 指定另外一个实体类在中间表的外键关系
里面使用@JoinColumn
语法:JoinColumn = {@JoinColumn(name=“外键名”)}
inverseJoinColumns 指定另一个实体类在中间表的外键关系
inverseJoinColumns = {@JoinColumn(name=“另一个外键名”)}
在多对多关系中,可以在粉丝和明星中假设明星为主表 粉丝表为从表
使用mappedBy来当主表
mappedBy = 指向的是从表实体类,中维护关系的属性对象
mappedBy = 只想的是从表实体类,需要维护关系的
有mappedBy的是主表实体类不需要维护关系
呗mappedBy = 指向的,使用@JoinColumn或@JoinTable来维护关系的

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值