如果User类映射为实体,而Address类映射为值类型的组件,值类型实例的生命期限由所拥有的实体实例的生命期限决定。值类型不支持共享引用,一个值类型的实例只与一个实体关联。
如果把User和Address都映射为实体时该怎么办?这个模型的好处之一在于共享引用的可能性---另一个实体类(Shipment)也可以有一个对特定Address实例的引用。如果User有对该实例的引用,那么Address实例就必须支持共享引用,并且需要有自己的同一性。在这种情况下,User和Address类就都有一个真正的一对一关联了。
共享的主键关联
由主键关联而相关的两张表中的行共享相同的主键值。这种方法的主要困难在于,确保被关联的实例在保存对象时分配到了相同的主键值。
pom.xml: