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?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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