🎓 Top 15 Udemy Courses (80-90% Discount): My Udemy Courses - Ramesh Fadatare — All my Udemy courses are real-time and project oriented courses.
▶️ Subscribe to My YouTube Channel (178K+ subscribers): Java Guides on YouTube
▶️ For AI, ChatGPT, Web, Tech, and Generative AI, subscribe to another channel: Ramesh Fadatare on YouTube
When working with Hibernate, one of the most fundamental decisions developers grapple with is how to fetch associated entities: eagerly or lazily? These choices affect application performance, resource utilization, and the user experience. This article unpacks the concepts of Eager and Lazy loading in Hibernate, offering guidance on when to use each.
The Basics
Eager Loading ensures that all associated entities are retrieved from the database as soon as the parent entity is fetched. Picture this as ordering a meal and getting all the courses served at once.
Lazy Loading, on the other hand, means associated entities are loaded only when they are specifically requested. Imagine ordering a meal where each course is served only when you ask for it.
Eager Loading
How it Works:
When you fetch an entity, Hibernate will also load its associated entities in the same database transaction.
Code Snippet:
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "address_id")
private Address address;
Pros:
Cons:
Lazy Loading
How it Works:
Code Snippet:
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "address_id")
private Address address;
Comments
Post a Comment
Leave Comment