user1335654
user1335654

Reputation:

Difference between lazy loading and eager loading in JPA?

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

    // setters and getters
}

In lazily loading when I load a University from the database, JPA loads its id, name, and address fields for me. Students will not load. When I call getStudents() method, JPA will then execute the query

select * from students where universitycode=id

Is my understanding of lazy loading correct?

Upvotes: 3

Views: 2371

Answers (1)

Tomasz Nurkiewicz
Tomasz Nurkiewicz

Reputation: 340708

Correct. If you use eager loading on the other hand, JPA will proactively load students for you and return fully-populated University object.

Whether single JOIN query will be used or two separate queries is up to the JPA provider (EclipseLink, Hibernate...)

Upvotes: 3

Related Questions