Arun Gupta, Miles to go ...

Arun Gupta is a technology enthusiast, a passionate runner, and a community guy who works for Sun Microsystems.
« Previous day (Aug 17, 2009) | Main | Next day (Aug 19, 2009) »

http://blogs.sun.com/arungupta/date/20090818 Tuesday August 18, 2009

LOTD #22: How to inject JPA resources ? - PersistenceUnit vs PersistenceContext


Java Persistence API defines a standard object/relational mapping using POJOs. In JPA, a persistence unit is described using "persistence.xml", bundled with the web application, injected into your web application and then POJOs are used to access all the information from the underlying persistence mechanism such as a database.

JPA can injected into your application couple of different ways as shown below:

@PersistenceUnit
EntityManagerFactory emf;

and

@PersistenceContext
EntityManager manager;

Which one is preferred, why, and pros/cons are very clearly explained in (slightly old but very relevant) this blog. It also discusses a JNDI approach.

In case you are interested in the summary:
  • Use "@PersistenceUnit EntityManagerFactory" for Servlets because of thread safety
  • Use "@PersistenceContext EntityManager" in EJBs for simpler/cleaner code
Read other JPA related entries.
All previous entries in this series are archived at LOTD.

Technorati: lotd glassfish jpa javaee persistence

del.icio.us | furl | simpy | slashdot | technorati | digg |
|
« Previous day (Aug 17, 2009) | Main | Next day (Aug 19, 2009) »

Valid HTML! Valid CSS!

This is a personal weblog, I do not speak for my employer.