设为首页 加入收藏

TOP

Hibernate关系映射 --- 一对一实例分析
2014-11-24 13:55:55 来源: 作者: 【 】 浏览:1
Tags:Hibernate 关系 映射 ---一对一实例分析

一 概念介绍


一对一的方式有两种,分为:


(1)基于主键的方式 --- 共用主键(Person --- IdCard)典型的一对一


没有增加额外的列


(2)基于外键的方式 --- 增加额外的一列


下面介绍一下第一中基于主键的实现


二 代码分析


(1)Person类


package com.hbsi.domain;


public class Person {


private int id;


private String name;


private IdCard idCard;//一个人对应一个IdCard


public Person() {


super();


// TODO Auto-generated constructor stub


}


public Person(int id, String name, IdCard idCard) {


super();


this.id = id;


this.name = name;


this.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;


}


public String toString() {


return "Person [id=" + id + ", name=" + name + ", idCard=" + idCard


+ "]";


}


}


(2)IdCard类


package com.hbsi.domain;


import java.util.Date;


public class IdCard {


private int id;


private Date usefulLife;


private Person person; //一个IdCard只属于一个人


public IdCard() {


super();


// TODO Auto-generated constructor stub


}


public IdCard(int id, Date usefulLife, Person person) {


super();


this.id = id;


this.usefulLife = usefulLife;


this.person = person;


}


public int getId() {


return id;


}


public void setId(int id) {


this.id = id;


}


public Date getUsefulLife() {


return usefulLife;


}


public void setUsefulLife(Date usefulLife) {


this.usefulLife = usefulLife;


}



public Person getPerson() {


return person;


}


public void setPerson(Person person) {


this.person = person;


}


}


(3)在配置文件中配置Person类和IdCard类



"-//Hibernate/Hibernate Configuration DTD 3.0//EN"


"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">





"hibernate.connection.driver_class">com.mysql.jdbc.Driver


"hibernate.connection.url">jdbc:mysql:///demo


"hibernate.connection.username">root


"hibernate.connection.password">1234



"hibernate.dialect">org.hibernate.dialect.MySQLDialect



"hibernate.hbm2ddl.auto">update




"hibernate.show_sql">true



"com/hbsi/domain/Person.hbm.xml" />


"com/hbsi/domain/IdCard.hbm.xml" />




】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Hibernate关联映射 --- 一对多实.. 下一篇Hibernate关联映射---多对一实例..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: