Junior — Middle
Pouvez-vous énumérer les types de chargement de données dans JPA et expliquer leurs différences?
sobes.tech IA
Réponse de l'IA
Dans JPA, il existe deux principaux types de chargement de données:
-
Chargement eager (chargement immédiat) — les entités liées sont chargées immédiatement avec l'entité principale. Cela est pratique lorsque les données liées sont nécessaires, mais peut entraîner un chargement excessif et une baisse des performances.
-
Chargement lazy (chargement paresseux) — les entités liées ne sont chargées qu'au premier accès. Cela économise des ressources si les données liées ne sont pas toujours nécessaires, mais nécessite que la session EntityManager soit ouverte au moment de l'accès.
Exemple d'annotation en JPA:
@Entity
public class Order {
@OneToMany(fetch = FetchType.LAZY)
private List<Item> items;
}
Ici, items seront chargés uniquement lors de leur accès, et non immédiatement lors du chargement de la commande.