我想在Acount和Record之间创建@ManyToOne映射。一个帐户可以有很多记录。但我不想在Record类中添加Account字段,反之亦然。你能帮我在注释中描述这个吗?
@Entity
public class Account {
@Id
... getId();
}
@Entity
public class Record {
@Id
... getId();
@?????
... getAccountId();
}
答案 0 :(得分:2)
将实体映射到表是Hibernate通常工作的方式,如果你不想在Record中使用Account类,你可以简单地将accountId定义为long(或int,取其中哪个)并且不注释它,除非你需要一个不同的列名称。 但我建议不要这样做。
答案 1 :(得分:0)
如果您不想将外键约束添加到任一表,您可以创建一个单独的表,其中包含允许您建立关系的约束。
accountId | recordId
--------------------
1 | 2
1 | 3
2 | 4
使用JPA ......
@ManyToOne
@JoinColumn(table=TABLE_NAME_ABOVE,name="accountId")
public Account getAccount(){ ... }