1
resposta

Qual a diferença entre @Autowired e @PersistenceContext

Por que não poderia usar dentro da classe ProdutoDAO a annotation @Autowired em cima do atributo private EntityManager entityManager já que se trata também de injeção

1 resposta

Oi Marcelo!

O @PersistenceContext é usado especificamente quando precisamos injetar um EntityManager.

Imagina que no seu persistence.xml você tem mais de uma persistence-unit, que acessam bancos diferentes, etc. Com o @PersistenceConext, você pode passar qual persistence-unit quer usar, por exemplo:

@PersistenceContext(unitName="livraria-auditoria")
EntityManager

Seria possível usar @AutoWired, mas certamente mais trabalhoso, já que você precisaria criar um bean para ensinar pro Spring como produzir um EntityManager.

Faz sentido?

Abraço!