Hibernate _one to one 主键关联 XML配置
人 与身份证 一对一 主键关联:
1 package com.helen.model; 2 3 public class People1 { 4 private int id; 5 private String name; 6 private int age; 7 private IDcard1 idcard; 8 9 10 public int getId() { 11 return id; 12 } 13 14 public void setId(int id) { 15 this.id = id; 16 } 17 18 public String getName() { 19 return name; 20 } 21 22 public void setName(String name) { 23 this.name = name; 24 } 25 26 public int getAge() { 27 return age; 28 } 29 30 public void setAge(int age) { 31 this.age = age; 32 } 33 34 public IDcard1 getIdcard() { 35 return idcard; 36 } 37 38 public void setIdcard(IDcard1 idcard) { 39 this.idcard = idcard; 40 } 41 42 43 44 }
1 package com.helen.model; 2 3 public class IDcard1 { 4 private int id; 5 private String cardCode; 6 private People1 people; 7 8 public int getId() { 9 return id; 10 } 11 12 public void setId(int id) { 13 this.id = id; 14 } 15 16 public String getCardCode() { 17 return cardCode; 18 } 19 20 public void setCardCode(String cardCode) { 21 this.cardCode = cardCode; 22 } 23 24 public People1 getPeople() { 25 return people; 26 } 27 28 public void setPeople(People1 people) { 29 this.people = people; 30 } 31 32 }
XML 配置
1 <?xml version="1.0" encoding="utf-8"?> 2 <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 3 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 4 <hibernate-mapping> 5 <class name="com.helen.model.People1" table="t_PEOPLE"> 6
7 <id name="id" type="int"> 8 <column name="ID" /> 9 <generator class="native" /> 10 </id>
11 12 <property name="name" type="java.lang.String"> 13 <column name="NAME" /> 14 </property> 15 <property name="age" type="int"> 16 <column name="AGE" /> 17 </property> 18 19 <one-to-one name="idcard" class="com.helen.model.IDcard1" /> 20
21 </class> 22 </hibernate-mapping>
1 <?xml version="1.0" encoding="utf-8"?> 2 <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 3 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 4 <hibernate-mapping> 5 <class name="com.helen.model.IDcard1" table="t_IDCARD"> 6 7 <id name="id" type="int"> 8 <column name="ID" /> 9 <generator class="foreign"> //外键 10 <param name="property">people</param> 11 </generator> 12 </id> 13 14 15 <property name="cardCode" type="java.lang.String"> 16 <column name="CARDCODE" /> 17 </property> 18 19 20 <one-to-one name="people" class="com.helen.model.People1" constrained="true"> 22 </one-to-one>
23 </class> 24 </hibernate-mapping>
SessionFactory:
1 package com.helen.dao; 2 3 import org.hibernate.Session; 4 import org.hibernate.SessionFactory; 5 import org.hibernate.cfg.AnnotationConfiguration; 6 import org.hibernate.cfg.Configuration; 7 8 public class HibernateUtil { 9 private static SessionFactory sf; 10 static { 11 // sf = new AnnotationConfiguration().configure().buildSessionFactory(); 12 sf = new Configuration().configure().buildSessionFactory(); 13 } 14 15 public static SessionFactory getSessionFactory() { 16 return sf; 17 } 18 19 public static Session getSession() { 20 return sf.openSession(); 21 } 22 }
Test 类:
1 package com.helen.test; 2 3 import org.hibernate.Session; 4 5 import com.helen.dao.HibernateUtil; 6 import com.helen.model.IDcard1; 7 import com.helen.model.People1; 8 9 public class Test { 10 static Session session; 11 12 public static void main(String args[]) { 13 14 session = HibernateUtil.getSession(); 15 session.beginTransaction(); 16 People1 p = new People1(); 17 p.setName("Helen"); 18 p.setAge(21); 19 IDcard1 idcard = new IDcard1(); 20 idcard.setCardCode("100111011012356"); 21 idcard.setPeople(p); 22 session.save(idcard); 23 session.getTransaction().commit(); 24 session.close(); 25 } 26 27 }
people 表:
IDcard 表:
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。