Hibernate映射 - "无法确定类型"

Poo*_*ool 5 java hibernate hibernate-annotations

我目前成功保持以下对象:

  • 人名
  • 考试题目,日期等

我现在想创建第三个表格考试结果.对于这个表,我认为它应该是人员ID,考试ID和结果,这是一个多对多的关系.

@Entity
public class ExamResult {
    private Exam exam;
    private Person person;
    private double value;

    @Id
    @ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE} )
    @JoinColumn(name="EXAM_ID")
    public Exam getExam() {
        return exam;
    }
    public void setExam(Exam exam) {
        this.exam = exam;
    }

    @Id
    @ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE} )
    @JoinColumn(name="PERSON_ID")
    public Person getPerson() {
        return person;
    }
    public void setPerson(Person person) {
        this.person = person;
    }

    public double getValue() {
        return value;
    }
    public void setValue(double value) {
        this.value = value;
    }
}
Run Code Online (Sandbox Code Playgroud)

错误:

org.hibernate.MappingException:无法确定类型:Person,在表:ExamResult,对于列:[org.hibernate.mapping.Column(person)]

我想我可能会以错误的方式解决这个问题,但我无法理解如何从教程中继续这种关系 .

有任何想法吗?

Wil*_*lva 11

您不能@Id在同一实体中拥有多个注释.请改用复合ID. 例.