我的mysql数据库中有两个表:
1.teacher(id(pk),name,phone,email)
2.student(id(pk),teacher'sid(FK),name,phone,email)学生表有一个外键,即教师的‘sid,它指向teacher.id。
我想选择id(teachers.id)与( student.name = "Steven“)相同的教师。
我创建了两个与表具有相同类名和属性的类,并配置了映射。
@Entity
class teacher {
@Id
int id;
String name;
String phone;
String email;
}
@Entity
class student {
@Id
int id;
int teachersid;
String name;
String phone;
String email;
}我可以通过以下方式选择他的名字是"steven“的学生:
Criteria q = session.createCriteria(student.class).add(
Restrictions.eq("name", "stevens"));怎样才能找回“史蒂文”的老师?就像这样
(select * from teacher(where teacher.id = student.teachersid(where student.name="stevens"))),但使用Hibernate标准Api。
提前感谢!
发布于 2012-08-20 17:57:31
您的Hibernate实体类没有正确反映表之间的关系。Student实体应该类似于
@Entity
class student {
@Id
int id;
teacher teach;
String name;
String phone;
String email;
}一旦您正确地修改了实体,hibernate就会自动发出表之间的连接。
https://stackoverflow.com/questions/12035152
复制相似问题