@Autowired vs @PersistenceContext for EntityManager bean

Cosmin Vasii picture Cosmin Vasii · Jul 10, 2015 · Viewed 52.5k times · Source

What is the difference between:

@Autowired
private EntityManager em;

versus:

@PersistenceContext
private EntityManager em;

Both options work in my application, but can I break something by using the @Autowired annotation?

Answer

sashok_bg picture sashok_bg · Jul 10, 2015

@PersistenceContext allows you to specify which persistence unit you want to use. Your project might have multiple data sources connected to different DBs and @PersistenceContext allows you to say which one you want to operate on

check the explanation here: http://www.coderanch.com/t/481448/java-EJB-SCBCD/certification/unitName-PersistenceContext