hibernate中当Teacher与Student具有多对多的关系时,且使用关联关系,没有实体的中间表,如何使用hql根据student的名字取出拥有他的teacher

来源:互联网 发布:微测试源码 编辑:程序博客网 时间:2024/05/19 04:02

例如:

Teacher中有:

基本属性:private String teacherId;private String teacherName;关联关系:Set<Student> students = new HashSet<Student>();//这是某个老师的手底下有的所有学生getter上的映射就不写了。
Student中有:

基本属性:private String studentId;private Stirng studentName;Set<Teacher> teachers = new HashSet<Teacher>();//这是某个学生选择了的所以老师getter上的映射就不写了。

当想取出:找哪些老师手底下有个学生叫"老王"时应该怎么用hql取:

String hql = "select t from Teacher t left join t.students s where s.studentName = '老王'";List<Teacher> teas = (List<Teacher>)session.createQuery(hql).list();这样就取了出来了!


0 0
原创粉丝点击