hibernate一对一外键映射--iteye技术网站

hibernate一对一外键映射--iteye技术网站
2011年08月01日
   person作为IdCard的一个外键
  Person.java
  package cn.itcast.hibernate.domain; public class Person { private int id; private String name; private IdCard idcard; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public IdCard getIdcard() { return idcard; } public void setIdcard(IdCard idcard) { this.idcard = idcard; } }
  IdCard
  package cn.itcast.hibernate.domain; import java.util.Date; public class IdCard { private int id; private Date usefullife; private Person person; public int getId() { return id; } public void setId(int id) { this.id = id; } public Person getPerson() { return person; } public void setPerson(Person person) { this.person = person; } public Date getUsefullife() { return usefullife; } public void setUsefullife(Date usefullife) { this.usefullife = usefullife; } }
  JavaBean映射文件1(Person.hbm.xml)
  
  JavaBean映射文件2(IdCard.hbm.xml)
  
  Hibernate配置文件(hibernate.cfg.xml)
   com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/test root 123456 1 org.hibernate.dialect.MySQLDialect true create
  One2One.java用来使用映射
  package cn.itcast.hibernate; import java.util.Date; import java.util.HashSet; import java.util.Set; import org.hibernate.Session; import org.hibernate.Transaction; import cn.itcast.hibernate.domain.Department; import cn.itcast.hibernate.domain.Employee; import cn.itcast.hibernate.domain.IdCard; import cn.itcast.hibernate.domain.Person; public class One2One { /** * @param args */ public static void main(String[] args) { add(); queryPerson(1); // queryIdCard(1); } static Person queryPerson(int id){ Session s= null; Transaction tx = null; try { s=HibernateUtil.getSession(); tx= s.beginTransaction(); Person person=(Person)s.get(Person.class, id); System.out.println(person.getIdcard().getUsefullif e()); tx.commit(); return person; }finally{ if(s!=null){ s.close(); } } } static IdCard queryIdCard(int id){ Session s= null; Transaction tx = null; try { s=HibernateUtil.getSession(); tx= s.beginTransaction(); IdCard idCard=(IdCard)s.get(IdCard.class, id); System.out.println(idCard.getPerson().getName()); tx.commit(); return idCard; }finally{ if(s!=null){ s.close(); } } } static Person add(){ Session s= null; Transaction tx = null; try { s=HibernateUtil.getSession(); tx= s.beginTransaction(); IdCard idcard = new IdCard(); idcard.setUsefullife(new Date()); Person person = new Person(); person.setName("personname1"); person.setIdcard(idcard); idcard.setPerson(person); s.save(person); s.save(idcard); tx.commit(); return person; }finally{ if(s!=null){ s.close(); } } } }
  
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值