这是以下问题的扩展
Interface between two related JPA entities
我有完全相同的情况,但还有一个补充。
要将它放入#OpenSource所述的相同示例中,传真和电子邮件表已经从“Source”通过InheritanceType扩展为“Joined”,这是许多其他类的另一个基类。现在,在您的示例中,您已使传真和电子邮件从Channel扩展,该Channel使用InheritanceType指定为TABLE_PER_CLASS。
我认为我也不能在我的情况下实现相同的方法(指定TABLE_PER_CLASS)。请帮助我克服这种情况。
答案 0 :(得分:0)
这是使用ManyToAny映射而不是ManyToOne或OneToOne
@Entity
public class Delivery {
@Id
@GeneratedValue
private Long id;
@Any(metaColumn = @Column(name = "type"))
@AnyMetaDef(idType = "long", metaType = "string",
metaValues = {
@MetaValue(targetEntity = Fax.class, value = "fax"),
@MetaValue(targetEntity = Email.class, value = "email"),
})
@JoinColumn(name="channelId")
private Channel channel;
}