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

[Dúvida] Diferença entre findById e getReferenceById

Na aula foi utilizado o getReferenceById que diferente do findById não retorna um Optional da Entidade, qual seria a vantagem de usar esse método?

1 resposta
solução!

Oi Camila! Tudo bem?

A diferença entre findById e getReferenceById é um ponto interessante no uso do JPA. Vamos lá:

  • findById: Este método retorna um Optional da entidade. Isso significa que ele realmente busca o objeto no banco de dados e, se não encontrar, retorna um Optional.empty(). É útil quando você precisa ter certeza de que o objeto existe antes de prosseguir com alguma operação.

  • getReferenceById: Este método, por outro lado, não faz uma busca imediata no banco de dados. Ele retorna uma referência à entidade, que é um proxy. Isso significa que o objeto só será realmente carregado do banco de dados quando você acessar alguma propriedade dele. É útil em situações onde você quer evitar uma consulta desnecessária ao banco de dados, especialmente se você tem certeza de que o objeto existe e você só precisa de uma referência para, por exemplo, atualizar um campo específico.

Espero ter ajudado e bons estudos!