Java 查询继承实体时发生异常
在我的数据库中,我有类似的内容:Java 查询继承实体时发生异常,java,hibernate,inheritance,jpa,persistence,Java,Hibernate,Inheritance,Jpa,Persistence,在我的数据库中,我有类似的内容: +---------+ | answer | +---------+ ----------------------->--+--------------+ | id +------) | answer_type_b| ---->-+--------------+ +--------------+ ...
+---------+
| answer |
+---------+ ----------------------->--+--------------+
| id +------) | answer_type_b|
---->-+--------------+ +--------------+
... | answer_type_a| | id |
+--------------+ | field_b |
| id | | ... |
| field_a |
| ... |
在我的答案表中,我有公共信息,然后我有两个与父表相关的继承表,它们具有不同的特定字段
我使用JPA 2+Hibernate 4.2.6在应用程序中创建了模型:
@Entity
public abstract class Answer {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
// ...
}
@Entity
public class AnswerA extends Answer{
@Column(name = "field_a")
private String fieldA;
// ...
}
@Entity
public class AnswerB extends Answer{
@Column(name = "field_b")
private String fieldB;
// ...
}
现在,当我尝试查询所有答案实体时,我希望得到一个包含所有答案(类型a和类型B)的集合,相反,我得到一个异常:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'answer0_.field_a' in 'field list'
我想这是因为父表中没有字段,所以我该如何解决这个问题呢?有没有办法查询所有继承表?我解决了以下有趣的wiki书籍。您还应该发布类的变量和SQL查询以及周围的代码。因为我只是转发给您,所以我将此作为注释发布:您应该看一看。我认为遗产。。。注释应该可以解决您的问题。或者只需查找hibernate文档,它们比url I更多provided@Ben非常感谢你。我发现这个文档也很有用,欢迎您!干杯: