• HIbernate 一对多双向注解


    package cn.hbonetomany;
    import javax.persistence.*;
    import java.util.HashSet;
    import java.util.Set;

    /**
    * Created by Administrator on 2017-10-9.
    */
    /*声明这个类是持久化实体类*/
    @Entity //指定实体类
    @Table(name = "DEPTS")
     //指定表的名称
    public class Dept {
    @Id //指定主键
        /*
    * 当前deptno属性紧跟@Id后的属性,为该表的主键
    * */
    @GeneratedValue
    /声明主键生成策略
        private Integer deptno;
    private String deptname;
    /*
    * mappedBy=“dept” 根据Emp类找外键的属性
    * 只有多的一方有外键,cascade 级联作用只需要操作一张表
    * */
    @OneToMany(mappedBy = "deptno11",cascade =CascadeType.ALL)
    //指定一对多关系//设定级联关系 All 全部,save_update

    private Set<Emp> emps= new HashSet<Emp>();

    public Set<Emp> getEmps() {
    return emps;
    }

    public void setEmps(Set<Emp> emps) {
    this.emps = emps;
    }

    public Integer getDeptno() {
    return deptno;
    }

    public void setDeptno(Integer deptno) {
    this.deptno = deptno;
    }

    public String getDeptname() {
    return deptname;
    }

    public void setDeptname(String deptname) {
    this.deptname = deptname;
    }
    }

    package cn.hbonetomany;
    import javax.persistence.*;
    /**
    * Created by Administrator on 2017-10-9.
    */
    @Entity
    @Table(name = "EMPS")
    public class Emp {
    @Id
    @GeneratedValue
    private Integer empno;
    private String empname;

    public Dept getDept() {
    return deptno11;
    }

    public void setDept(Dept dept) {
    this.deptno11 = dept;
    }
    @ManyToOne(fetch = FetchType.LAZY)
        多的一方最好别设定级联关系
        @JoinColumn(name = "deptno")//指定与本类主键所对应的外表的外键
        private Dept deptno11;

    public Integer getEmpno() {
    return empno;
    }

    public void setEmpno(Integer empno) {
    this.empno = empno;
    }

    public String getEmpname() {
    return empname;
    }

    public void setEmpname(String empname) {
    this.empname = empname;
    }
    }

    主表没有外键,从表有外键一对多就是采取了关联主表外键
    Dept植入集合Emp可以说是植入了一个多的一方,Emp只需导入Dept对象属性,也就是双向的一对多
  • 相关阅读:
    如何去除照片上的噪点?Topaz DeNoise AI 专业降噪激活版
    3D元素视频特效After Effects 2022中文激活版
    flutter_dating_template
    netcore 使用apollo
    数组浅拷贝和深拷贝
    奇思妙想之 巧记108将
    Spring通过MimeMessageHelper发送邮件,中文附件名出现乱码解决办法
    linux 复制多级目录,删除文件和文件夹,创建文件夹和文件
    nginx 上传文件 到分布式应用
    Linux同步网络时间
  • 原文地址:https://www.cnblogs.com/hualishu/p/7645498.html
Copyright © 2020-2023  润新知