java - 如何使用 JPA 注解指定字段的类?

标签 java hibernate jpa

我有一个场景,我希望 EntityA 的一个字段由抽象的非持久父类(super class)引用,如下所示:

@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 映射来做到这一点,对吗?可以在其中指定类。

谢谢!

最佳答案

@ManyToOne(targetEntity = EntityB.class)

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

关于java - 如何使用 JPA 注解指定字段的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21362576/

相关文章:

hibernate - Spring Boot Data - 如何删除共享一个 id 的所有行?

java - 由于 @NameQueries 中的错误而无法实例化 LocalContainerEntityManagerFactoryBean?

java - 无法在未指定 LoadTimeWeaver 的情况下应用类转换器

jpa - 在 Play Framework 中使用 JPA 更新表

java - Spring - 使用 hibernate 和 spring security 扩展类

java - Image.IO 无法读取输入文件 - Java

java - 通过谷歌云端点通过 Android 客户端将文件上传到谷歌云存储

java - 转换 PGP 公钥

java - VisualVM 1.3.7 无法从 GlassFish 获取 Java Web 应用程序列表

java - java中的日期时间和hibernate中的默认日期时间映射