2
我想创建一个表,其中对象的primary key
也应该用作两个@ManyToOne
表的foreign key
。如何将主键也用作JPA和Hibernate的外键引用?
如果不创建额外的表列既引用和重复相同的主键ID,这是可能的吗?
实施例:
@Entity
public class Person {
@Id
private int personId;
@ManyToOne
@JoinColumn(name="fk_address_id", [email protected](name="fk_address"))
private Address address;
@ManyToOne
@JoinColumn(name="fk_location_id", [email protected](name="fk_location"))
private Location location;
}
问题:@Id
为Address
和Location
总是相同@Id
从Person
。 上面的映射将导致hibernate生成3列。 id, fk_address, fk_location
,其中每列具有相同的值(id)。
问题:是否有可能只为该人拥有primary key
@Id,并且同时告诉hibernate这是另外一些@ManyToOne
外键映射的外键,而不创建这些列?
看看[这里](http://stackoverflow.com/questions/29594577/hibernate-how-to-map-two-many-to-多对同一实体/ 29603999#29603999)帖子。 – wypieprz