Sobes.tech
Junior — Middle

Quels types de stratégies de chargement paresseux et avides dans JPA sont connus?

sobes.tech IA

Réponse de l'IA

En JPA, il existe deux stratégies principales de chargement des données associées:

  • Chargement eager (EAGER) : les entités associées sont chargées immédiatement avec l'entité principale. Cela est pratique lorsque les données associées sont nécessaires immédiatement, mais peut entraîner des requêtes excessives et une baisse des performances.

  • Chargement lazy (LAZY) : les entités associées ne sont chargées que lors de leur première utilisation. Cela économise des ressources, mais nécessite que la session EntityManager soit ouverte au moment de l'accès aux données, sinon une erreur LazyInitializationException peut survenir.

Exemple d'annotation en JPA :

@OneToMany(fetch = FetchType.LAZY)
private List<Order> orders;

@OneToOne(fetch = FetchType.EAGER)
private Profile profile;