Hibernate高级实体关联映射之单值的实体关联(共享的主键关联)

本文介绍了在Hibernate中实现单值实体关联的共享主键关联方式,这种关联允许实体间的共享引用。通过配置XML映射文件,如User和Address实体,使用foreign标识符生成器确保Address在保存时能获取到User的主键值,建立数据库中外键约束。示例展示了如何在Java代码中创建和保存这样的关联对象。
摘要由CSDN通过智能技术生成

 

 

 

如果User类映射为实体,而Address类映射为值类型的组件,值类型实例的生命期限由所拥有的实体实例的生命期限决定。值类型不支持共享引用,一个值类型的实例只与一个实体关联。

如果把User和Address都映射为实体时该怎么办?这个模型的好处之一在于共享引用的可能性---另一个实体类(Shipment)也可以有一个对特定Address实例的引用。如果User有对该实例的引用,那么Address实例就必须支持共享引用,并且需要有自己的同一性。在这种情况下,User和Address类就都有一个真正的一对一关联了。

 

 

共享的主键关联

由主键关联而相关的两张表中的行共享相同的主键值。这种方法的主要困难在于,确保被关联的实例在保存对象时分配到了相同的主键值。

 

 

 


 

pom.xml:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值