我有一个包含2个桌子的数据库:House和Cottage。 每个表都有一个ID列,其中包含主键。 Cottage表中有一列" HouseID",其中包含House记录的外键。
现在,在我的House实体类中,我需要包含Cottage对象。
如何在House实体类中注释Cottage对象以包含信息。我是否需要在Cottage实体类中添加其他注释?
这是否足够?
@OneToOne(fetch = FetchType.EAGER)
private Cottage cottage;
House表中不包含Cottage表的外键。
感谢名单
答案 0 :(得分:1)
您需要使用@JoinColumn
注释定义外键:
@OneToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "HOUSE_ID")
private Cottage cottage;
"HOUSE_ID"
是数据库列的实际名称,而不是Java属性。
答案 1 :(得分:1)
您应该将@JoinColumn添加到House实体
@OneToOne(fetch = FetchType.EAGER)
@JoinColumn(name="HouseID")
private Cottage cottage;
name 应该是引用的表列的名称