zoukankan      html  css  js  c++  java
  • 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对象属性,也就是双向的一对多
  • 相关阅读:
    Apache基本设置
    主流无线传输技术GPRS与CDMA之对比
    光波分复用系统(WDM)技术要求
    IPv6报头结构以及与IPv4的比较
    网络设计师训练资料
    802.11b/11a/11g横向比较
    交换机术语
    无线局域网技术白皮书
    无线网络基础知识
    校验码
  • 原文地址:https://www.cnblogs.com/hualishu/p/7645498.html
Copyright © 2011-2022 走看看