hibernate使用left join一点感悟

来源:互联网 发布:知乎 杭州电子科技大学 编辑:程序博客网 时间:2024/05/16 10:46

班级表Class和学生表Student表示一对多关系。

public class Class{    private String id;    private String classNumber;    private Set<Student> students;}

public class Student{    private String id;    private String studentNumber;    private Class class;}

做关联查询的时候,为什么我们不用:select s from Student s left join Class  c where c.clasNumber='3'呢?

而是用select s from Student s left join s.class.classNumber='3'

原因是这样的,从技术的角度来讲,Student表中可以有两个Class类型的成员变量。如下所示:

public class Student{    private String id;    private String studentNumber;    private Class class1;    private Class class2;}


为了指明具体是哪个成员变量,所以hibernate才是这样设计的。


0 0