Sobes.tech
Junior — Middle

Que tipos de estratégias de carregamento preguiçoso e ganancioso de dados no JPA são conhecidas?

sobes.tech IA

Resposta da IA

No JPA, existem duas estratégias principais de carregamento de dados relacionados:

  • Carregamento ansioso (EAGER): entidades relacionadas são carregadas imediatamente juntamente com a entidade principal. Isto é útil quando os dados relacionados são necessários de imediato, mas pode levar a consultas excessivas e diminuir o desempenho.

  • Carregamento preguiçoso (LAZY): entidades relacionadas são carregadas apenas na primeira vez que são acessadas. Isto economiza recursos, mas requer que a sessão do EntityManager esteja aberta no momento do acesso aos dados, caso contrário pode ocorrer um erro LazyInitializationException.

Exemplo de anotação em JPA:

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

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