Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Duvida

(fetch = FetchType.LAZY)

para que serve?

1 resposta
solução!

Olá Francisco!

A anotação (fetch = FetchType.LAZY) é usada em JPA (Java Persistence API) para definir como as associações entre entidades devem ser carregadas do banco de dados. Quando você usa FetchType.LAZY, está dizendo ao JPA para carregar a entidade associada somente quando ela for realmente acessada no código, em vez de carregar imediatamente junto com a entidade principal.

Por exemplo, imagine que você tem uma entidade Consulta que está relacionada a um Medico e a um Paciente:

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "medico_id")
private Medico medico;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "paciente_id")
private Paciente paciente;

Com FetchType.LAZY, os dados do Medico e do Paciente só serão carregados do banco de dados quando você acessá-los explicitamente no seu código, como consulta.getMedico(). Isso pode ser útil para melhorar o desempenho, especialmente se você não precisar dessas informações imediatamente.

Por outro lado, o FetchType.EAGER carrega as entidades associadas junto com a entidade principal, o que pode ser útil se você sempre precisar dos dados associados.

Isso é um detalhe da JPA e não do Spring, sendo que você pode aprender mais neste curso

Espero ter ajudado e bons estudos!