Hibernate配置错误 - 使用注释的一对多关系

use*_*493 0 hibernate hibernate-mapping hibernate-onetomany

我已经阅读了许多视频和教程,解释了如何使用注释机制在hibernate中配置一对多关系.我仍然得到这个错误.

错误是:org.hibernate.AnnotationException:使用@OneToMany或@ManyToMany定位未映射的类:bean.Professor.coursesAssigned [bean.Course]使用@OneToMany或@ManyToMany定位未映射的类:bean.Professor.coursesAssigned [ bean.Course]

我的课程是:

Professor.java

    package bean;

    import java.util.Set;

    import javax.persistence.CascadeType;
    import javax.persistence.Entity;
    import javax.persistence.FetchType;
    import javax.persistence.OneToMany;

    @Entity
    public class Professor extends User{

        @OneToMany(targetEntity = Course.class, mappedBy = "assignedProfessor", 
                cascade = CascadeType.ALL , fetch = FetchType.LAZY)
        private Set<Course> coursesAssigned;
    }
Run Code Online (Sandbox Code Playgroud)

和course.java是:

    package bean;

    import javax.persistence.JoinColumn;
    import javax.persistence.ManyToOne;

    public class Course {

        private Integer courseId;
        private String courseName;

        @ManyToOne(targetEntity = Professor.class)
        @JoinColumn(name = "professor_join")
        private Professor assignedProfessor;
    }
Run Code Online (Sandbox Code Playgroud)

Ken*_*han 5

org.hibernate.AnnotationException: 
Use of @OneToMany or @ManyToMany targeting an unmapped class: bean.Professor.coursesAssigned[bean.Course] 
Use of @OneToMany or @ManyToMany targeting an unmapped class: bean.Professor.coursesAssigned[bean.Course]
Run Code Online (Sandbox Code Playgroud)

例外已经解释了原因.@OneToMany并且@ManyToMany只能在其类是映射类的属性上进行注释.如果类被注释,@Entity并且包含<mapping class>在配置文件中或以编程方式包含在Configuration实例中,则该类被视为已映射 .

所以,我相信在你@Entity上课后,例外将会消失Course.