zoukankan      html  css  js  c++  java
  • JPA学习-03

    一、单向一对多

    特点:性能差,不怎么用,有集合默认懒加载

    @OneToMany

    1.private Set<T> t = new HashSet<>()

    2.private List<T> t = new ArrayLiat<>()

    其中1为无序不重复(性能好),2为有序课重复

    注:单向一对多,多对一,双向多对一,一对多,表结构一模一样

    二、双向多对一、一对多

    保证维护关系的列是同一列

    JoinColumn(name="xxx")

    一方交给多方维护(外键在多方)

    MappedBy=“xx”映射关系交给对应类中字段去维护

    三、级联

    分为PERSIST、UPDATE、REMOVE、ALL

    一般能不用就不用,特别是删除

    组合关系必须使用(cascade=Cascade.Type.All  orphanRemoval=ture)

    在开发中:单据都是组合关系(其余特殊的看需求)

    ophanRemoval:孤儿删除

    remove(其中一个)

    clean(全部)

    四、多对多

    尽量不要使用级联

    joinTable(name=“xxx”,joincolumn=@JoinColumn(name=“aaa”)

    inverseJoinColum=@JoinColumn(name=“bbb”))

    五、一对一

    共享主键(扩展性不强,不建议使用)

    唯一外键(扩展性强,建议使用)

    主表和从表:

    外键在哪从表就在哪

  • 相关阅读:
    进程的常用方法
    进程创建&僵尸进程&孤儿进程
    进程基础
    操作系统的发展史
    UDP协议&socketserver模块
    socket套接字
    简述计算机网络
    day 7-8 协程
    __new__和__init__的区别
    day 7-22 进程,线程,协程
  • 原文地址:https://www.cnblogs.com/smiledragon/p/10493366.html
Copyright © 2011-2022 走看看