Quelle est la différence entre:
@Autowired
private EntityManager em;
contre:
@PersistenceContext
private EntityManager em;
Les deux options fonctionnent dans mon application, mais puis-je casser quelque chose en utilisant le @Autowired
annotation?
@PersistenceContext
vous permet de spécifier l’unité de persistance à utiliser. Votre projet peut avoir plusieurs sources de données connectées à différents DB et @PersistenceContext
vous permet de dire lequel vous voulez opérer
vérifiez l'explication ici: http://www.coderanch.com/t/481448/Java-EJB-SCBCD/certification/unitName-PersistenceContext
@PersistenceContext
est une annotation standard JPA conçue pour cet usage spécifique. Tandis que @Autowired
est utilisé pour toute injection de dépendance au printemps. En utilisant @PersistenceContext
vous donne un plus grand contrôle sur votre contexte car il vous permet de spécifier des éléments facultatifs, par exemple. nom, propriétés
@ PersistenceContext:
pas retourner l'instance du gestionnaire d'entités
retourne proxy géré par conteneur qui acquiert et libère le contexte de présence pour le compte du code de l'application