在此示例here
中我了解mappedBy
属性正在做什么。它告诉JPA外键存在于Users表中。但db中的外键是一个字段,但在这里它们指的是一个完整的对象
BillingInfo
作为外键。 JPA如何知道BillingInfo对象中的哪个字段用作外键?
答案 0 :(得分:0)
mappedBy = "billingInfo"
没有说出外键的位置。它告诉Hibernate注释字段(user
)构成双向关联的反面,并且该关联的拥有方是字段User.billingInfo
。
Hibernate因此查看User.billingInfo
如何映射以了解必须如何映射此双向关联。
在这种情况下,User.billingInfo
上的唯一注释是@OneToOne
。由于这并未说明关联的映射方式,因此将应用JPS规范中指定的默认值,并且将使用名为"billingInfo_id"
的连接列IIRC。