This week's book giveaway is in the Servlets forum.
We're giving away four copies of Murach's Java Servlets and JSP and have Joel Murach on-line!
See this thread for details.
The moose likes Object Relational Mapping and the fly likes How lazy loading is working in JPA Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Databases » Object Relational Mapping
Bookmark "How lazy loading is working in JPA" Watch "How lazy loading is working in JPA" New topic

How lazy loading is working in JPA

xsunil kumar
Ranch Hand

Joined: Dec 14, 2009
Posts: 133

I have one doubt regarding Laxy loading of the objects in JPA. Let us suppose i have one entity Class A. A is mapped with one to many with B and B is mapped with C as Many to one. Below is sample class struture.

A {

private List<B> blist;

Class B

public class B {

private List<C> clist;

My question
1. B is defined as Lazy in A. Now if i will do entityManager.find(A), it will not load the data from B as due to Lazy. If i have made it Eager and they try to load entity A. then It should have to load entity of B also. Now C is defined as Lazy in B. Will it fetch data for entity C also in above case.

Wouter Oet
Saloon Keeper

Joined: Oct 25, 2008
Posts: 2700

No it will probably will not. Remember that using the fetchtype to lazy is only a hint. It is not enforcing. The JPA provider might decide to load it anyway. If you set the fetchtype to eager then the provider must load it.

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." --- Martin Fowler
Please correct my English.
It is sorta covered in the JavaRanch Style Guide.
subject: How lazy loading is working in JPA
Similar Threads
Heap exception while loading complete table data from database
Basic JPA @OneToMany / @ManyToOne mapping trouble (related to hibernate?)
List query annotation ?
How does JPA/ORM know the target entity?
Lazy loading exception in presentation layer, what's the nicest way to avoid them?