如果关联是可选的,则Hibernate无法在不发出查询的情况下知道给定人员的地址是否存在。因此,它不能使用代理填充地址字段,因为可能没有引用该人的地址,并且不能填充null,因为可能存在引用该人的地址。
当您使关联成为强制性(即
optional=false)时,它会信任您并假定一个地址存在,因为关联是强制性的。因此,在知道有引用该人的地址的情况下,它直接用代理填充地址字段。

如果关联是可选的,则Hibernate无法在不发出查询的情况下知道给定人员的地址是否存在。因此,它不能使用代理填充地址字段,因为可能没有引用该人的地址,并且不能填充null,因为可能存在引用该人的地址。
当您使关联成为强制性(即
optional=false)时,它会信任您并假定一个地址存在,因为关联是强制性的。因此,在知道有引用该人的地址的情况下,它直接用代理填充地址字段。