hibernate使用left join一点感悟

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u010523770/article/details/52566556

班级表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才是这样设计的。


展开阅读全文

没有更多推荐了,返回首页