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

Exercício 6 da aula 03 do curso de JPA e Hibernate.

Olhei aqui na documentação da classe EntityManager e vi que o método find não joga exceção se uma Transaction não for iniciada (ao contrário do persist, por exemplo.)

Executei o find sem o manager.getTransaction().begin(); e funcionou corretamente.

A minha dúvida é se essa prática de se fazer um find sem iniciar uma transaction pode me acarretar algum problema.

2 respostas
solução!

Olá Gabriel! Não, você não terá problema, mas tem que tomar muito cuidado com isso. Usar o método find sem uma transação lhe dará uma acesso não transacional. Isso significa que qualquer alteração na entidade retornada não será sincronizada com o banco.

Pode haver momentos que isso seja interessante (listagem) ou não. Tudo dependerá do que você quer fazer com a entidade.

Tudo bem?

Abraço

Entendi. Tive a impressão que isso poderia dar algum problema, mas não sabia exatamente aonde. Obrigado.

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