ManyToOne 详解

一 意义: 用来定义多对于一的表关联关系

(多指的是本实体的外键字段,可以有多个重复的值, 一指的是被关联的实体的主键, 只能是一个值)


二  他自带的属性(全部可选)

1 cascade

实例: @ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.Remove, CascadeType.MERGE, CascadeType.REFRESHCascadeType.All})


级联(不懂意思参考jpa分类里的文章解释), 可以有5个值可选



      * CascadeType.PERSIST :级联新建
      * CascadeType.REMOVE  : 级联删除
      * CascadeType.REFRESH :级联刷新
      * CascadeType.MERGE   : 级联更新
      * CascadeType.ALL     : 以上全部四项


2 fetch

实例: @ManyToOne(fetch=FetchType.EAGER, fetch=FetchType.LAZY)

FetchType.EAGER: 立即加载, 获取关联实体

FetchType.LAZY: 懒加载, 取出数据的时候,关联的数据实体并不会取出来. 在session外就不能再调用关联实体的方法


3 optional

定义该关联类是否必须存在.

为false时, 2方必须存在, 关联关系为inner join(2表至少存在1个匹配). 

为true时, 关系被维护方(1方)可以不存在关联关系为 left join, 结果依然返回的是关系维护端的.


4 targetEntity

表示关联的实体的类型, 默认是该成员属性对应的类类型, 通常不需要提供定义.

如果集合中已经指定了具体类型就不需要使用targetEntity, 否则就要指定targetEntity = **.class

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值