如何使用JPA Annotations指定字段的类?

时间:2014-01-26 11:03:34

标签: java hibernate jpa

我有一个场景,我希望我的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映射做到这一点,对吗?可以在那里指定类。

谢谢!

1 个答案:

答案 0 :(得分:2)

@ManyToOne(targetEntity = EntityB.class)

我不明白为什么这会有用。如果您知道它必须始终是EntityB,为什么不使用EntityB作为字段的类型?