Reputation:
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
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