Fiquei na dúvida de se todos os métodos chamados de um bean que é injetado são tratados como uma transação ou apenas aqueles que de alguma forma chamam o EntityManager. E como, caso necessário, eu poderia chamar um rollback?
Fiquei na dúvida de se todos os métodos chamados de um bean que é injetado são tratados como uma transação ou apenas aqueles que de alguma forma chamam o EntityManager. E como, caso necessário, eu poderia chamar um rollback?
Oi Eduardo,
Todos os métodos de um EJB possuem automaticamente um transação, usando ou não o EntityManager. Se não usarem, a transação não afeta nada, mas se usarem, a transação do EJB é sincronizada com a do EntityManager.
Para realizar Rollback, a Aula 5 fala sobre isso, mas em geral você só precisa lançar uma exception do tipo unchecked (filha de RuntimeException).
A aula 5 lhe explicará com mais detalhes.
Abraço