我正在使用休眠4.2.21版本。我有部分实体,并且使用了@Embedded和@Embeddable批注。尝试运行项目时,它会给出异常;
属性映射的列数错误:com.demo.School.teacher类型:对象
学校实体类
@Entity(name = "School")
public class{
public String schoolId;
public String schoolName;
@Embedded
@AttributeOverrides({
@AttributeOverride(name = "teacherName",column = @Column(name = "teacherName")),
@AttributeOverride(name = "teacherPhone",column = @Column(name = "teacherPhone")),
})
@XmlElements({
@XmlElement(name = "TeacherU", type = TeacherU.class),
@XmlElement(name = "TeacherH", type = TeacherH.class)
})
public object teacher;
//getters and setters
}
教师(大学)实体班级
@Embeddable
public class TeacherU {
public String teacherName;
public String teacherPhone;
//getters and setters
}
教师(高中)实体班
@Embeddable
public class TeacherH {
public String teacherName;
public String teacherPhone;
//getters and setters
}
答案 0 :(得分:0)
不应将老师声明为对象,更改
public object teacher;
到
public Teacher teacher;