我在Set上使用了@ManyToMany
注释,它运行正常。
@ManyToMany
@JoinTable(name="stud_course_map",joinColumns={@JoinColumn(name="stud_id ")}, inverseJoinColumns={@JoinColumn(name="course_id")} )
public Set<Course> getEnrolledCourses() {
return enrolledCourses;
}
当我使用ArrayList而不是Set时,它抛出异常
org.hibernate.AnnotationException: Illegal attempt to map a non collection as a @OneToMany, @ManyToMany or @CollectionOfElements: com.kaushik.winnersoft.data.Student.enrolledCourses
不支持ArrayList吗? @ManyToMany
注释支持哪个集合?
答案 0 :(得分:0)
支持的接口是:
java.util.Set
java.util.List
java.util.Collection
您得到了异常,因为您使用了其中一个接口的具体实现。始终使用上面给出的界面定义@ManyToMany
或@OneToMany
,您将没事。