Junior — Middle
What are the differences between data loading strategies in Hibernate, and what are their features?
sobes.tech AI
Answer from AI
In Hibernate, there are two main data loading strategies: eager and lazy loading.
-
Eager loading loads related entities immediately along with the main entity. This is convenient when related data is definitely needed, but can lead to excessive queries and reduced performance.
-
Lazy loading loads related entities only upon first access. This conserves resources but can cause the "N+1 query" problem if not optimized.
Example annotation in Java:
@Entity
public class User {
@OneToMany(fetch = FetchType.LAZY)
private Set<Order> orders;
}
The choice of strategy depends on the specific use case and performance requirements.