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。 但是,我想问一下,是否有某种最佳实践来处理这种情况。