关联关系中的CRUD_Cascade_Fetch

本文详细介绍了Java Persistence API (JPA)中关联关系的管理方式,包括如何使用CascadeType进行级联操作,FetchType的选择及其对性能的影响,以及双向关联的正确设定方法。此外还涉及了O/R Mapping编程模型的不同实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关联关系中的CRUD_Cascade_Fetch
1.设置cascade可以设定在持久化时对关联对象的操作(CUD,R归Fetch管)
eg:
@One2Many(cascade={CascadeType.ALL},fetch=FecthType.LAZY)
默认的多方设置为FecthType.EAGER,一方设置FecthType.LAZY
CascadeType(JPA 正对于EJB3)
      ALL     所有方法
     MERGE   merge方法
     PERSIST  persist方法
     REFRESH  refresh方法
      REMOVE
FecthType
       EAGER 立即加载
       LAZY   延迟加载
2.双向关系在程序中要设定双向关联(S.GET**.ADD(**))
3.双向mappedBy
4.fetch-->inverse
    双向不要两边设置Eager
5.O/RMapping编程模型
   a)映射模型
     i.jpa annotation
     ii. hibernate annotion extension
     iii.hibernate xml
     iiii.jpa xml
   b)编程接口
      i.jpa
      ii.hibernate
  c)数据查询语言
      i.hql
      ii.EJB QL(JPQL) 
6.如果要想消除关联关系,先设定关系为null,再删除对应的记录,如果不删记录,该记录就编程垃圾数据 ,或者是用HQL语句
7.如果指定的@One2One的属性fetch为FetchType.LAZY,会延迟关联对象的加载,不管是LOAD还是get

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值