浅谈Jpa的对象关联

数据库中表的关联为主外键,在程序中是对象与对象之间的关联,站在ORM的角度上,每一个对象都对应着一张表,而每一个属性都对应着一个列,关系型数据库的核心是建立关系,也就是表和表之间,对象和对象之间。这就形成了一对一,一对多,多对一,多对多等关系。
一对一和多对多是一对多的两种特例,为啥这么说呢?
一对多外键唯一形成一对一,多对多呢?举例,一个人可以玩很多种游戏,对于人来说是一对多,一种游戏可以被很多人玩,对于游戏来说是多对一,于是产生多对多。
在Jpa里如何建立关联关系呢?
体现在实体类结构

主表拥有子表的集合属性
子表拥有主表的对象属性

1.主表中子表集合属性注解@OneToMany (mappedBy=“aaa”),这个是一对多的关系映射,双向关联必须设置。这里的aaa必须和子表中主表属性名一致。
2.子表中主表属性注解@ManyToOne+ @JoinColumn(name=“别名”,referencedColumnName=“主表中的外键属性名”)
3.既然产生了关系,那么在操作的时候避免不了级联操作,细分如下:

   cascade=CascadeType.PERSIST 级联保存
	       CascadeType.REMOVE 级联删除
	       CascadeType.MERGE 级联更新
	       CascadeType.DETACH  级联脱管 (如果你要删除一个实体,但是它有外键无法删除,你就需要这个级联权限了。它会撤销所有相关的外键关联。) 
	       CascadeType.REFRESH  级联刷新 
	       CascadeType.ALL  拥有以上所有权限。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值