2012-04-12 1 views
0

주석 메커니즘을 사용하여 최대 절전 모드에서 하나의 관계를 여러 관계를 구성하는 방법에 대해 설명하는 많은 비디오 및 자습서를 살펴 보았습니다. 여전히이 오류가 발생합니다.최대 절전 모드 구성 오류 - 주석을 사용하는 일대 다 관계에서

오류 : @OneToMany 또는 @ManyToMany의 bean.Professor.coursesAssigned [bean.Course] 사용 매핑되지 않은 클래스 타겟팅 : org.hibernate.AnnotationException : 매핑되지 않은 클래스 타겟팅 @OneToMany 또는 @ManyToMany의 사용 :

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; 
    } 

및 course.java은 다음과 같습니다 : bean.Professor.coursesAssigned [bean.Course]

내 클래스는

,
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; 
    } 

답변

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] 

예외 이미 원인을 설명하고있다. @OneToMany@ManyToMany은 클래스가 매핑 된 클래스 인 속성에서만 주석을 적용 할 수 있습니다. 클래스가 @Entity으로 주석되고 구성 파일에 <mapping class> 또는 programmatically included in the Configuration 인스턴스로 포함되는 경우 클래스는 매핑 된 것으로 간주됩니다.

따라서 @EntityCourse으로 표시 한 후 예외가 사라질 것으로 생각됩니다.

+0

도움을 주셔서 대단히 감사합니다. 정말 효과가있었습니다. 단지 내 마음에서 빠져 나갔습니다. – user1324493