oik*_*opo 1 mysql hibernate hibernate-criteria
我在我的mysql数据库2表中:
1.teacher(id(pk),name,phone,email)
2.student(id(pk),teacher'sid(FK),name,phone,email)
Run Code Online (Sandbox Code Playgroud)
学生表有一个外键,老师的,对于老师.id.
我想选择他们的id(teachers.id)与(student.teacher'sid)相同的老师,其中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;
}
Run Code Online (Sandbox Code Playgroud)
我可以通过以下方式选择他的名字是"史蒂文"的学生:
Criteria q = session.createCriteria(student.class).add(
Restrictions.eq("name", "stevens"));
Run Code Online (Sandbox Code Playgroud)
如何能够挽回"史蒂文"的老师?就像是
(select * from teacher(where teacher.id = student.teachersid(where student.name="stevens")))
Run Code Online (Sandbox Code Playgroud)
,但使用Hibernate Criteria Api.
提前致谢!
Criteria c = s.createCriteria(Teacher .class,"tchr");
c.createCriteria("students", "s");//Teacher class should contain students collection
c.add(Restrictions.eq("s.name", "Ashok"));
List l=c.list();
Run Code Online (Sandbox Code Playgroud)
希望这会帮助你.如果您有任何疑问,请告诉我.