我用JPA(Eclipse Link)实现了这个 Classes(我无法发布图片)
现在我正在设置一个查询,向我展示特定教师上课的所有学期。
Query query2 = em
.createQuery("FROM Semester s, IN (s.lesson) l, IN(l.lessonTeacher) lT1 WHERE lT1.teacher.lastname = :lastname");
query.setParameter("lastname", "Spooner");
List<Semester> resultList2 = query.getResultList();
for(Semester s : resultList2){
System.out.println(s.getname());
}
我的问题是:lT1.teacher.lastname =:lastname 我无法访问继承的属性。
The state field path 'lT1.teacher.lastname' cannot be resolved to a valid type.
可以帮助吗?
答案 0 :(得分:0)
问题不在于继承属性。您必须在下面添加另一个连接(到Teacher
表)到您的查询以解决此问题:
Query query2 = em
.createQuery("FROM Semester s, IN (s.lesson) l, IN(l.lessonTeacher) lT1, lT1.teacher t WHERE t.lastname = :lastname");
query.setParameter("lastname", "Spooner");
List<Semester> resultList2 = query.getResultList();
for(Semester s : resultList2){
System.out.println(s.getname());
}