一对一注解配置
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