2017-12-22 9 views
0

특정 학생과 관련된 세부 정보를 가져오고 싶습니다. 최대 절전 모드에서는 어떻게해야합니까?학생을위한 코스 목록 가져 오기

최대 절전 모드에서 도와주세요.

@Entity 
public class Course implements Serializable { 

    private long id; 
    private String name; 

    @Id 
    @GeneratedValue 
    public long getId() { 
     return id; 
    } 

    public String getName() { 
     return name; 
    } 

    @ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL) 
    @JoinTable(name = "Enrollment", joinColumns = { 
     @JoinColumn(name = "Course_Id", insertable = false, updatable = false, nullable = false)}, inverseJoinColumns = { 
     @JoinColumn(name = "Student_Id", insertable = false, nullable = false, updatable = false)}) 
    private List<Student> students = new ArrayList<Student>(); 

} 


@Entity 
public class Student implements Serializable { 

    private long id; 
    private String name; 

    @Id 
    @GeneratedValue 
    public long getId() { 
     return id; 
    } 

} 

학생들의 수업 관련 세부 정보를 찾을 수 있도록 도와주세요. 직면하고있는 경우

@Entity 
@Table(name="Courses") 
public class Courses { 


@Id 
@GeneratedValue(strategy = GenerationType.AUTO) 
@Column(name="COURSE_ID") 
private long id; 


@Column(name="COURSE_NAME") 
private String name; 


@ManyToOne 
@JoinColumn(name="Student_ID") // Foreign Key 
private Student student; 

} 

이 속성을 true로 넣어 같은 Entity 클래스가 있어야한다

@Entity 
@Table(name="Student") 
public class Student implements Serializable { 


private static final long serialVersionUID = 1L; 


@Id 
@GeneratedValue(strategy = GenerationType.AUTO) 
@Column(name="ID") 
private long id; 


@Column(name="NAME") 
private String name; 


@OneToMany(mappedBy="student",fetch = FetchType.EAGER) // change to FetchType.Lazy for lazy initialization 
private List<Courses> courses; 

// Getters and setters 
} 

귀하의 코스 : 여러 과정이 하나의 학생이있는 경우

+0

무엇을 시도 했습니까? 가져 오기를 시도하는 코드를 게시하면 거기에서 선택하여 도움을받을 수 있습니다. – Zeromus

답변

0

다음 데이터베이스 구조가 같아야합니다 게으른 초기화를위한 문제 "hibernate.enable_lazy_load_no_trans"