我有实体类出版物。它与实体类Teacher连接为ManyToMany。
这是出版物课程的一部分
// create connectivity with table Teacher
public Set<Teacher> teachers;
@ManyToMany
@JoinTable(name = "Bridge2",
joinColumns = @JoinColumn(name = "PublicationId"),
inverseJoinColumns = @JoinColumn(name = "TeacherId"))
public Set<Teacher> getTeacher() {
return teachers;
}
public void setTeacher(Set<Teacher> teachers) {
this.teachers = teachers;
}
我从数据库中选择发布并将其传递给JSP页面。在JSP页面上,我尝试查看所有教师,但总是得到异常在org.irs.entities.Publication类型上找不到属性'教师'。
这是JSP文件的一部分
<td> <!-- view all teachers -->
<c:forEach var="t" items="${publication.teachers}">
${t.teacherFullName}<br/>
</c:forEach>
</td>
如果有人知道这个问题的原因,我会很乐意帮忙。
答案 0 :(得分:2)
尝试将您的访问者方法重命名为getTeachers
和setTeachers
(复数而不是单数)。
Hibernate看到getTeacher
,因此属性名称为teacher
。您正试图访问该属性teachers
。
答案 1 :(得分:1)
这似乎是因为您的getter
和setter
是teacher
而不是teachers
。 Hibernate关注setter
和getters
而不是字段。将它们更改为setTeacher * s *和getTeacher * s *可能会解决问题。