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

begin e commit no para busca

Olá a todos,

Estou com uma pequena duvida. Quando utilizamos o método find() do EntityManager é obrigatorio usar: em.getTransaction().begin(); e em.getTransaction().commit(); ? Já que não tem nenhuma alteração pra ser "comidada" no banco não achei necessário. Existe alguma boa prática e recomenda-se colocar os metodos antes e depois do find(). Vlw !

2 respostas
solução!

Oi Tiago,

para a pesquisa funcionar você não precisa usar uma transação. No entanto as entidades da query não estarão managed e qq alteração não será sincronizada com o banco de dados.

Além disso, usando uma transação garante a isolação de operação de leitura (dependendo um pouco do seu bd e nível de isolação) e permite o uso de locks.

Abraços

Olá Tiago, a resposta do Nico tirou a sua dúvida? Se sim, não deixa de marcar a resposta dele como solucionadora. :)

Abraç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