0
我有以下情形: 基本域類:休眠@ManyToMany多個實體
@MappedSuperclass
public class BaseDomain {
@Id
protected UUID id;
}
媒體對象類:
@Entity
public class MediaObject extends BaseDomain {
@ManyToMany
@JoinTable(
joinColumns = {
@JoinColumn(name = "BaseDomain_id", referencedColumnName = "id"
}
inverseJoinColumns = {
@JoinColumn(name = "Media_id", referencedColumnName = "id")
}
private List<BaseDomain> holders;
}
「持有人」 答:
@Entity
public class A extends BaseDomain {
@ManyToMany
private List<MediaObject> media;
}
「 Holder「B:
@Entity
public class B extends BaseDomain {
@ManyToMany
private List<MediaObject> media;
}
我想要存檔的是存儲MediaObject,並且多個實體可以「持有」此對象。我的方法是使用JoinTable來存儲MediaObject和任意BaseDomain對象之間的關係(如上所述)。我面臨的問題是持久性提供者(在我的情況下是Hibernate)將無法決定哪個實際的表加入。 我正在考慮使用JPA 2.1中可能的單向@OneToMany。 但是,我想問一下,是否有某種最佳實踐來處理這種情況。