📄 8_一对一唯一外键关联映射(双向).txt
字号:
Person<--->IdCard
一对一唯一外键关联双向,需要在另一端(idcard),添加<one-to-one>标签,
指示hibernate如何加载其关联对象,默认根据主键加载person,外键关联映射中,
因为两个实体采用的是person的外键维护的关系,所以不能指定主键加载person,
而要根据person的外键加载,所以采用如下映射方式:
<one-to-one name="person" property-ref="idCard"/> <!--property-ref 指明根据idCard加载person-->
IdCard
private int id;
private String cardNo;
private Person person;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
<hibernate-mapping >
<class name="com.tcit.hibernate.IdCard">
<id name="id">
<generator class="native"/>
</id>
<property name="cardNo"/>
<one-to-one name="person" property-ref="idcard"/> <!--property-ref 指明根据idCard加载person-->
</class>
</hibernate-mapping>
=====================================================
Person
private int id;
private String name;
private IdCard idcard;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
<hibernate-mapping >
<class name="com.tcit.hibernate.Person">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<many-to-one name="idcard" unique="true"/>
</class>
</hibernate-mapping>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -