hibernate - 一对多映射到父类(super class)的属性

标签 hibernate annotations one-to-many

我有一个父类(super class) Questions及其子类 MultipleChoiceQuestions

父类(super class)有一个字段 activity

我想创建一个Set<MultipleChoiceQuestions>并使用OneToMany使用 mappedBy = "activity" 进行注释

例如

@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL, mappedBy = "activity" )
private Set<NQIMultipleChoiceQuestions> mcqQuestions = new HashSet<NQIMultipleChoiceQuestions>();

我收到此错误:

org.hibernate.AnnotationException: mappedBy reference an unknown target entity property 

但是,如果我创建一组父类(super class)实体,它就可以正常工作,

例如

@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL, mappedBy = "activity")
private Set<NQIQuestions> questions = new HashSet<NQIQuestions>();

有没有办法映射到父类(super class)的属性?

最佳答案

找到了解决方案...:)

我们只需定义 targetEntity = ? 即可实现此目的在 OneToMany 定义中..

例如..

@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL, mappedBy = "activity" , targetEntity=NQIQuestions.class)    
private Set<NQIMultipleChoiceQuestions> mcqQuestions = new HashSet<NQIMultipleChoiceQuestions>();

关于hibernate - 一对多映射到父类(super class)的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4447613/

相关文章:

java - Hibernate 搜索 - 删除 Elasticsearch 索引配置

ios - map 上的 Swift 注释作为按钮

Hibernate 将 enum 映射到 varchar

java - Hibernate 查询以选择 Datetime 列的时间范围内的行

java - 如何从带注释的 java 类编写/生成 CSV 文件

java - @OneToMany 和复合主键?

ios - 在 iOS 设备之间共享数据

c# - 在与 linq-to-entities 的一对多连接中仅获取一条(最后一条)记录

spring - 使用 Spring JPA 和 Hibernate 访问 Session 以启用过滤器

xml - 使用 JAXB 需要 JSON 字段