1. 程式人生 > >Hibernate中的一對一註解配置

Hibernate中的一對一註解配置

before code uil ransac ges package open cnblogs 一對一

技術分享

Card類

package cn.OneToOne2017109.entity;

import javax.persistence.*;

/**
 * Created by YSS on 2017/10/9.
 */

@Entity
@Table(name = "Card")
public class Card {
@Id
@GeneratedValue
private Integer cid;
@Column
private String cnum;
@OneToOne(mappedBy = "card",cascade = CascadeType.ALL)
private

People people;


public Integer getCid() {
return cid;
}

public void setCid(Integer cid) {
this.cid = cid;
}

public String getCnum() {
return cnum;
}

public void setCnum(String cnum) {
this.cnum = cnum;
}

public People getPeople() {
return
people;
}

public void setPeople(People people) {
this.people = people;
}
}

 

People類

@Entity
@Table(name = "People")
public class People {
    @Id
    @GeneratedValue
    private Integer pid;
    @Column
    private String pname;
    @OneToOne
    @JoinColumn(name = "cid")
    private
Card card; public Integer getPid() { return pid; } public void setPid(Integer pid) { this.pid = pid; } public String getPname() { return pname; } public void setPname(String pname) { this.pname = pname; } public Card getCard() { return card; } public void setCard(Card card) { this.card = card; } }

測試類

public class testonetoone {

    Configuration cfg;
    SessionFactory factory;
    Session session;
    Transaction tx;

    @Before
    public void mybefor(){
        cfg=new Configuration().configure();
        factory=cfg.buildSessionFactory();
        session=factory.openSession();
        tx=session.beginTransaction();
    }
    @After
    public void myafter(){
        tx.commit();
    }

    @Test
    public void test03() {
        People people=new People();
        Card card=new Card();
        people.setPname("123");
        card.setCnum("123133");
        card.setPeople(people);
        people.setCard(card);
        session.save(card);
    }
}

將大配置中的mapping節點改為

<mapping class=" "/>

Hibernate中的一對一註解配置