Hibernate详解(4)->>关联关系映射(二)
Hibernate详解(四)----关联关系映射(二)? ? ? ?IDCard.hbm.xml?? ?配置文件:hibernate.cfg.xml?? ?方式
Hibernate详解(四)---->>关联关系映射(二)
?
?
?
?
IDCard.hbm.xml
?
?
?配置文件:hibernate.cfg.xml
?
?
?方式二:基于主键关联方式
citizen表和idcard表具有相同的主键。这种实现方式的映射文件如下。
?
Citizen.hbm.xml
?
?
? 备注: ????? 在这个映射文件中,通过指定标识符生成器为foreign来保证与property属性指定的对象共享同一个OID。使用one-to-one 元素来映射一对一关联。通过constrained=true ,添加了把citizen表的主键链接到idcard表主键的外键约束,即数据库保证citizen表的主键引用有效的idcard表的主键。
?
4、双向一对一
?
???? 单向的一对一关联常用的实现方式有两种:基于唯一外键和基于主键。同样,双向的一对一关联也有这两种常用的实现方式。
方式一:基于外键一对一关联方式
?
Citizen.java
?
?
?
?
?IDCard.hbm.xml
?
?
?配置文件:hibernate.cfg.xml
?
>?? ??<hibernate-configuration>?? ????<session-factory>?? ???????? ??????????<!--?数据库方言设置?-->?? ????????<property?name="hibernate.dialect">?? ????????????org.hibernate.dialect.MySQLInnoDBDialect ??????????</property>?? ???????? ??????????<!--?数据库连接参数设置?-->?? ????????<property?name="hibernate.connection.driver_class">?? ????????????com.mysql.jdbc.Driver ??????????</property>?? ????????<property? ?? ??name="hibernate.connection.url">jdbc:mysql:///hibernate</property>?? ????????<property?name="hibernate.connection.username">root</property></s