基于外键的一对一关系
来源:互联网 发布:三维模型设计软件 mac 编辑:程序博客网 时间:2024/06/05 21:10
Person.java
package cn.itcast.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;}}
Person.hbm.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC"-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping package="cn.itcast.domain"><class name="Person"><id name="id"><generator class="native"></generator></id><property name="name"></property><!-- 在数据库中,我们习惯用person_id来查询,但是现在我们使用person这个类的实例来查询。hibernate的思维要慢慢的习惯 --><one-to-one name="idCard" property-ref="person"></one-to-one></class></hibernate-mapping>
IdCard.java
package cn.itcast.domain;import java.util.Date;public class IdCard {private int id;private Date usefulLife;public Date getUsefulLife() {return usefulLife;}public void setUsefulLife(Date usefulLife) {this.usefulLife = 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;}}
IdCard.hbm.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC"-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping package="cn.itcast.domain"><!-- class指明类的名称,在person先看下面,让后在看上面的personforeign表明我的id不是自己生产的,而是从外面拿过来的,这样保证与person.id一致 --><class name="IdCard" table="id_card"><id name="id"><generator class="native"></generator></id><property name="usefulLife" column="useful_life"></property><many-to-one name="person" column="person_id" unique="true"></many-to-one></class></hibernate-mapping>
one2one.java
package cn.itcast.dao.test;import java.util.Date;import org.hibernate.Session;import org.hibernate.Transaction;import org.logicalcobwebs.asm.tree.TryCatchBlockNode;import cn.itcast.dao.HibernateUtil;import cn.itcast.domain.IdCard;import cn.itcast.domain.Person;public class one2one {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stub//add();query(3);}static Person add(){Session s=null;Transaction tx=null;try {s=HibernateUtil.getSession();IdCard idCard=new IdCard();idCard.setUsefulLife(new Date());Person person=new Person();person.setName("person1");person.setIdCard(idCard);idCard.setPerson(person);tx=s.beginTransaction();s.save(person);s.save(idCard);tx.commit();return person;} finally {if(s!=null)s.close();}}static Person query(int id){Session s=null;Transaction tx=null;try {s=HibernateUtil.getSession();tx=s.beginTransaction();Person p=(Person)s.get(Person.class,id);System.out.println(p.getIdCard().getUsefulLife());tx.commit();return p;} finally {if(s!=null)s.close();}}}
- 基于外键的一对一关系
- 基于外键的一对一关联关系
- 基于外键映射的 一对一关系
- 基于外键的一对一关系--单双向
- Entity Framework - 理清关系 - 基于外键关联的单向一对一关系
- Hibernate_8_Person和IdCard实例_一对一关系:基于外键
- hibernate实现一对一关系映射(基于外键)
- Hibernate之基于外键映射的一对一(1-1)关联关系
- Hibernate_映射_关联关系_一对一映射2_基于外键的方式
- Hibernate基于外键和主键的双向一对一关系映射
- 基于主键的一对一关联关系
- Hibernate基于主键的一对一映射关系
- 基于主键的一对一关联关系
- 基于主键映射的 一对一关系
- 一对一关联关系(基于外键映射和基于主键映射两种方式)
- 一对一外键关联关系的理解与实践
- 第十章 基于Annotation的关系映射 一对一
- Hibernate之基于主键映射的一对一关联关系
- 【Delphi】Stream 介绍
- DELPHI MODEM拨号放音
- 三种《谁能坚持50秒》的智能闪避算法,让电脑玩高难度游戏
- PHP 对时间的处理
- 用Indy组件开发Socket应用程序
- 基于外键的一对一关系
- 2012.7.6计划
- Android属性动画---Property Animation(五)
- 第六天——PRESENT
- 2012-7-5 总结
- 重命名SQLServer数据库的方法
- 7月6日计划
- 纯Delphi实现,Hook API实现进程隐藏代码!
- 2012-7-6 计划