JPA中延迟加载和急切加载的区别?

时间:2012-10-03 12:39:35

标签: jpa

public class University {
    private String id;
    private String name;
    private String address;
    private List<Student> students;

    // setters and getters
}

在我从数据库加载University时延迟加载,JPA为我加载了idnameaddress字段。 Students无法加载。当我调用getStudents()方法时,JPA将执行查询

select * from students where universitycode=id

我对延迟加载的理解是否正确?

1 个答案:

答案 0 :(得分:3)

正确。如果您另外使用预先加载,JPA将主动为您加载students并返回完全填充的University对象。

是否将使用单个JOIN查询或两个单独的查询由JPA提供程序决定(EclipseLink,Hibernate ...)