Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

getOne vs findById

Boa tarde. Qual a diferença em usar o getOne() e o findById()

2 respostas

Oi Rodrigo,

O getOne, por baixo dos panos, utiliza o método getReference da JPA, que carrega a entidade de maneira LAZY.

Já o findById utiliza o método find, que carrega a entidade de maneira EAGER.

Na pratica se usa o getOne se você apenas quer carregar uma entidade para associá-la a outra, sem de fato acessar os atributos dela. Ex:

Cliente c = clientesRepository.getOne(idCliente);
pagamento.setCliente(c);
pagamentosRepository.save(pagamento);

Repare no código anterior que o cliente foi carregado apenas para ser atribuído ao objeto pagamento, que é o caso de utilização do método getOne.

Bons estudos!

solução!

obrigado pela explicação.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software