一对一注解配置

                                                        一对一注解配置

 1 package cn.happy.entity;
 2 
 3 import javax.persistence.Column;
 4 import javax.persistence.Entity;
 5 import javax.persistence.GeneratedValue;
 6 import javax.persistence.Id;
 7 import javax.persistence.JoinColumn;
 8 import javax.persistence.OneToOne;
 9 import javax.persistence.Table;
10 
11 @Entity
12 @Table
13 public class IdCard {
14     
15     @Id
16     @Column(length=18)
17     private String cid;
18     @Column
19     private String cname;
20     
21     @OneToOne
22     @JoinColumn(name="stu_id")
23     private Student stu;
24 
25     public String getCid() {
26         return cid;
27     }
28 
29     public void setCid(String cid) {
30         this.cid = cid;
31     }
32 
33     public String getCname() {
34         return cname;
35     }
36 
37     public void setCname(String cname) {
38         this.cname = cname;
39     }
40 
41     public Student getStu() {
42         return stu;
43     }
44 
45     public void setStu(Student stu) {
46         this.stu = stu;
47     }
48 }
 1 package cn.happy.entity;
 2 
 3 import javax.persistence.CascadeType;
 4 import javax.persistence.Column;
 5 import javax.persistence.Entity;
 6 import javax.persistence.GeneratedValue;
 7 import javax.persistence.Id;
 8 import javax.persistence.JoinColumn;
 9 import javax.persistence.OneToOne;
10 import javax.persistence.Table;
11 
12 @Entity
13 @Table
14 public class Student {
15    
16     @Id
17     @GeneratedValue
18     private Integer sid;
19     @Column
20     private String sname;
21     
22     @OneToOne(cascade={CascadeType.ALL})
23     @JoinColumn(name="card_id")
24     private IdCard card;
25 
26     public Integer getSid() {
27         return sid;
28     }
29 
30     public void setSid(Integer sid) {
31         this.sid = sid;
32     }
33 
34     public String getSname() {
35         return sname;
36     }
37 
38     public void setSname(String sname) {
39         this.sname = sname;
40     }
41 
42     public IdCard getCard() {
43         return card;
44     }
45 
46     public void setCard(IdCard card) {
47         this.card = card;
48     }
49     
50 }
 1 Session session=null;
 2     Transaction tx=null;
 3      @Before
 4      public void mybefore(){
 5           SessionFactory sf=new AnnotationConfiguration().configure().buildSessionFactory();
 6            session = sf.openSession();
 7            tx = session.beginTransaction();
 8      }
 9      @After
10      public void myafter(){
11          session.close();
12      }
13      
14     
15      /**
16       * 一对一双向配置
17       * **/
18      @Test
19      public void onetoone(){
20          Student stu=new Student();
21          stu.setSname("张一鸣");
22          
23          
24          IdCard card=new IdCard();
25          card.setCid("123456789789456123");
26          card.setCname("张一鸣");
27          card.setStu(stu);
28          stu.setCard(card);
29          
30          session.save(stu);
31          tx.commit();
32      }
33      
原文地址:https://www.cnblogs.com/hmy-1365/p/5800076.html