springdatajpa @ManyToOne、@OneToMany的使用

业务中会涉及多张表的查询,jpa对应着表关系有 @OneToOne, @OneToMany,@ManyToOne及 @ManyToMany;
今天只是简单说一下@ManyToOne、@OneToMany
在进行配置之前要先进行一下前置工作:
第一步:首先确定两张表之间的关系。
如果关系确定错了,后面做的所有操作就都不可能正确。
第二步:在数据库中实现两张表的关系(只要有对应字段描述关联关系,即使不在从表中设置foreign key 也可以进行操作)
即:在主从表中设置外键关联关系
第三步:在实体类中描述出两个实体的关系

第四步:配置出实体类和数据库表的关系映射(重点)
@ManyToOne、@OneToMany 只需配置一个即可,看业务想要查看的数据情况而定。
在这里插入图片描述
在这里插入图片描述

@OneToMany:
作用:建立一对多的关系映射
属性:
targetEntityClass:指定多的一方的类的字节码
mappedBy:指定从表实体类中引用主表对象的名称。
cascade:指定要使用的级联操作
fetch:指定是否采用延迟加载
orphanRemoval:是否使用孤儿删除

@ManyToOne
作用:建立多对一的关系
属性:
targetEntityClass:指定一的一方实体类字节码
cascade:指定要使用的级联操作
fetch:指定是否采用延迟加载
optional:关联是否可选。如果设置为false,则必须始终存在非空关系。

@JoinColumn
作用:用于定义主键字段和外键字段的对应关系。
属性:
name:指定外键字段的名称
referencedColumnName:指定引用主表的主键字段名称
unique:是否唯一。默认值不唯一
nullable:是否允许为空。默认值允许。
insertable:是否允许插入。默认值允许。
updatable:是否允许更新。默认值允许。
columnDefinition:列的定义信息。
name、referencedColumnName:所用的字段 不一定非要在表中设置foreign key,能够表明主从表的关联关系即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值