次のエンティティを検討します。Child クラスが 2 つの派生食品クラス ( Local Food または Foreign ) のいずれかを参照するようにします。これは不自然な例です。私の実際のドメイン オブジェクトは非常に複雑です。したがって、たとえば FoodType 列を組み合わせて使用することはオプションではありません。
@MappedSuperclass
public abstract class Food {
}
@Entity
public class LocalFood extends Food {
private long id;
private String name;
}
@Entity
public class ForeignFood extends Food {
private long id;
private String name;
}
@Entity
public class Child {
private Food food; //Base Class needed here
@ManyToOne()
public Food getFood() {
return food;
}
}
Caused by: org.hibernate.AnnotationException: @OneToOne or @ManyToOne on com.sample.Child.food references an unknown entity: com.sample.Food
継承と弁別子も使用しません。
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
public abstract class Food {
private long id; // set , get (Auto gen)
}
この種のマッピングを機能させることは可能ですか?