首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Hibernate 联系关系映射之一对一

2012-09-10 
Hibernate 关联映射之一对一Hibernate的关联映射包括:一对一(Persion - IDCard)一对多(Department - Emplo

Hibernate 关联映射之一对一

Hibernate的关联映射包括:

一对一(Persion - IDCard)

一对多(Department - Employee)

多对一(Employee - Department)

多对多(Teacher - Student)

组件映射(User - Name)

集合映射(Set、List、Map)

inverse和cascade(Employee - Department)

?

本文以一对一为例:

一个人对应一个身份证(Persion- IdCard)

(1) 基于主键的one-to-one(Persion的配置文件)

从对象IdCard使用了和主对象Person相同的主键,IdCard的主键在此即充当了主键又充当的外键。

<id name="id">

??? <generator? ?constrained="true">?

实体类:Persion.java 和 IdCard.java

Hibernate配置文件:hibernate.cfg.xml

IdCard.hbm.xml的配置文件:

<many-to-one? name="person"? column="person_id"? unique="true"? not-null="true"/>

?表结构:

CREATE TABLE `person` (  `id` int(11) NOT NULL auto_increment,  `name` varchar(255) default NULL,  PRIMARY KEY  (`id`)) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1CREATE TABLE `id_card` (  `id` int(11) NOT NULL auto_increment,  `idNo` varchar(255) default NULL,  `person_id` int(11) default NULL,  PRIMARY KEY  (`id`),  UNIQUE KEY `person_id` (`person_id`),  KEY `FK627C1FB4C22976D1` (`person_id`),  CONSTRAINT `FK627C1FB4C22976D1` FOREIGN KEY (`person_id`) REFERENCES `person` (`id`)) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1

?

?

?

?

热点排行