Hibernate关系映射(补足六个汉字).docx
文本预览下载声明
目录 徐伟
目 录
TOC \h \z \t 徐伟1,1,徐伟2,2,徐伟3,3 HYPERLINK \l _Toc300741045 1 关系映射 PAGEREF _Toc300741045 \h 1
HYPERLINK \l _Toc300741046 1.1 单向关联 PAGEREF _Toc300741046 \h 1
HYPERLINK \l _Toc300741047 1.1.1 一对一外键单向关联 PAGEREF _Toc300741047 \h 1
HYPERLINK \l _Toc300741048 1.1.2 一对一主键单向关联 PAGEREF _Toc300741048 \h 4
HYPERLINK \l _Toc300741049 1.1.3 一对多外键单向关联 PAGEREF _Toc300741049 \h 5
HYPERLINK \l _Toc300741050 1.1.4 多对一外键单向关联 PAGEREF _Toc300741050 \h 8
HYPERLINK \l _Toc300741051 1.2 双向关联 PAGEREF _Toc300741051 \h 10
HYPERLINK \l _Toc300741052 1.2.1 一对一外键双向关联 PAGEREF _Toc300741052 \h 10
HYPERLINK \l _Toc300741053 1.2.2 一对一主键双向关联 PAGEREF _Toc300741053 \h 12
HYPERLINK \l _Toc300741054 1.2.3 一对多外键双向关联 PAGEREF _Toc300741054 \h 13
HYPERLINK \l _Toc300741055 1.2.4 多对多双向关联 PAGEREF _Toc300741055 \h 15
关系映射 徐伟
PAGE \* MERGEFORMAT 18
关系映射
单向关联
一对一外键单向关联
1、模型介绍
一个人(Person)对应一个地址(Address)。
2、实体(无getter和setter)
Peron
private Long oid;
private String personid;
private String name;
private Address addressfk;
Address
private Long oid;
private String addressid;
private String addressdetail;
3、表模型
以下是地址表
地址表
以下是人物表,其中addressid是外键引用地址表的addressid
人物表
4、映射文件
Address.hbm.xml
hibernate-mapping package=com.test.fkoo
class name=Address table=address
id name=oid
generator class=native /
/id
property name=addressid unique=true not-null=true /
property name=addressdetail not-null=true /
/class
/hibernate-mapping
Person.hbm.xml
hibernate-mapping package=com.test.fkoo
class name=Person table=person
id name=oid
generator class=native /
/id
property name=personid unique=true not-null=true /
property name=name not-null=true /
!--用来映射关联PO column是Address在该表中的外键列名,增加unique是唯一的--
!--下面的addressid只是名字而已,manytoone自动关联address方的主键不过取个有实际意义的名字让表结构更清晰--
many-to-one name=addressfk column=addressid unique=t
显示全部