Hibernate @ManyToMany注释支持哪些集合

时间:2017-05-24 11:51:59

标签: hibernate jpa many-to-many

我在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注释支持哪个集合?

1 个答案:

答案 0 :(得分:0)

支持的接口是:

java.util.Set
java.util.List
java.util.Collection

您得到了异常,因为您使用了其中一个接口的具体实现。始终使用上面给出的界面定义@ManyToMany@OneToMany,您将没事。