我把问题简化了,简单说明一下。
现在有两张表,teacher表和student表,student表中有一个外键tcid,对应teacher表的主键id,
假设一个老师可以带多个学生,一个学生只能有一个老师,学生到老师是多对一的关系。
然后我写了两个持久化类,并且按照Hibernate的进行多对一单向的映射,举个例子大致如下:
class Teacher{
private int tcid;
private String name;
//省略get和set
}
class Student{
private int stuid;
private Teacher teacher;
//省略get和set
}
我现在想要用HQL语句查询所有由tcid=1的老师所教的学生,我以为可以用如下语句查询:
Query query=session.createQuery("from Student where Student.teacher.tcid=1");
结果是无法查询,请教懂这个的高人指点下,问题在哪里,如何解决,十分感谢!!
------解决方案--------------------
把WHERE语句后面的 STUDENT去掉