Eu sinceramente não consigo ver vantagem nenhuma em usar DAOs como EJBs visto que temos o CDI para controlar a injeção e transação também. Existe alguma outra razão pra isso?
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!
Eu sinceramente não consigo ver vantagem nenhuma em usar DAOs como EJBs visto que temos o CDI para controlar a injeção e transação também. Existe alguma outra razão pra isso?
Oi Felipe, acho que você já matou :). Na maioria dos casos, o CDI já vai ser suficiente.
Eu discordo!
Usar EJB com JPA traz muita vantagem por conta do gerenciamento de transação que vem de graça com essa combinação (JTA) - simplesmente sem precisar escrever nenhum código de gerenciamento. Usando CDI você precisará gerenciar a transação na mão, no melhor caso escrevendo um interceptor para anotar os métodos com operações de update.Com certeza o EJB deixa o código muito mais inteligente e limpo ao se trabalhar com JPA.
Opa, desde o javaee7 que você pode usar a annotation @Transactional em um Bean gerenciado pelo CDI. Não precisa ser um ejb e nem criar um interceptor :).