我有一个场景,我希望我的EntityA的一个字段被这样的抽象不可持久的超类引用:
@Entity
public class EntityA {
@ManyToOne
@JoinColumn(name = "id")
private AbstractB upcastEntityB; // it's really a superclass for the entity which I'd like to persist
}
当然,hibernate用
抱怨它references an unknown entity
因为这个类不为人所知。但是我可以指定将该字段向下转换为实际的已知EntityB类型。有办法吗?我真的需要这样做,我知道这很尴尬。
我想我可以用xml映射做到这一点,对吗?可以在那里指定类。
谢谢!
答案 0 :(得分:2)
@ManyToOne(targetEntity = EntityB.class)
我不明白为什么这会有用。如果您知道它必须始终是EntityB,为什么不使用EntityB作为字段的类型?