hibernate關於一對一注解配置


注解(Annotation),也叫元數據。一種代碼級別的說明。它是JDK1.5及以后版本引入的一個特性,與類、接口、枚舉是在同一個層次。它可以聲明在包、類、字段、方法、局部變量、方法參數等的前面,用來對這些元素進行說明,注釋。

Emp實體類配置

@Entity
@Table(name = "Emp2")
public class Emp {
    @Id
    @GeneratedValue
    private Integer eid;
    private String ename;
    @OneToOne
    @JoinColumn(name = "did")
    private Dept dept;


    public Integer getEid() {
        return eid;
    }

    public void setEid(Integer eid) {
        this.eid = eid;
    }

    public String getEname() {
        return ename;
    }

    public void setEname(String ename) {
        this.ename = ename;
    }

    public Dept getDept() {
        return dept;
    }

    public void setDept(Dept dept) {
        this.dept = dept;
    }
}

Idcard實體類配置

@Entity
@Table(name = "Dept2")
public class Dept {
    @Id
    @GeneratedValue
    private Integer did;
    private String dname;
    @OneToOne(mappedBy = "dept",cascade = CascadeType.ALL)
    private Emp emps;

    public Emp getEmps() {
        return emps;
    }

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

    public Integer getDid() {
        return did;
    }

    public void setDid(Integer did) {
        this.did = did;
    }

    public String getDname() {
        return dname;
    }

    public void setDname(String dname) {
        this.dname = dname;
    }
}

hibernate.cfg.xml文件配置(需要指定標示實體類)

<mapping class="cn.wyd.a.Dept"/>
		<mapping class="cn.wyd.a.Emp"/>

測試類方法

@Test
    public void test1(){
        Emp emp=new Emp();
        Dept dept=new Dept();
        emp.setEname("123");
        dept.setDname("321");
        dept.setEmps(emp);
        emp.setDept(dept);
        session.save(dept);
    }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM