Hibernate 我在一对夫妻关系中犯了错误?

Hibernate 我在一对夫妻关系中犯了错误?,hibernate,Hibernate,我试图在两个实体之间建立关系,但其中一个是继承的。 所以我有一个课堂: @实体 公共课堂{ @身份证 私有整数; 私人综合楼层; @OneToMany(mappedBy=“房间”) 私人名单教师; } 和教师班,扩展员工: @实体 @表(name=“教师”) @诺尔格构装师 @AllArgsConstructor 公营班级教师扩展员工{ 私人int课程; @许多酮 私人教室; } 当我尝试运行此代码时,出现以下错误: mappedBy reference an unknown target

我试图在两个实体之间建立关系,但其中一个是继承的。 所以我有一个课堂:

@实体
公共课堂{
@身份证
私有整数;
私人综合楼层;
@OneToMany(mappedBy=“房间”)
私人名单教师;
}
和教师班,扩展员工:

@实体
@表(name=“教师”)
@诺尔格构装师
@AllArgsConstructor
公营班级教师扩展员工{
私人int课程;
@许多酮
私人教室;
}
当我尝试运行此代码时,出现以下错误:

mappedBy reference an unknown target entity property: com.example.demo.entities.Teacher.room in com.example.demo.entities.Classroom.teachers

您的教师类需要声明为一个实体:

@Entity
public class Teacher extends Employee
如果您使用的是hibernate.cfg.xml,还需要在此处声明教师类:

<mapping class="com.example.demo.entities.Teacher"/>

通过引用映射未知目标实体属性

让我们了解出了什么问题

您的POJO应该是
@Entity
s,以便作为持久类启用;因此,你应该用
@实体
注释你的
老师
班级,如下所示:

@实体
公营班级教师扩展员工{
你也可以考虑使用PK。
私人int课程;
@许多酮
私人教室;
}
当心!,如果您的超类(即
Employee
)具有某种持久性状态,那么默认情况下,它将不会为JPA启用ORM ed。对于后一个目的,您需要在超类定义的顶部添加
@MappedSuperclass