WAS v8.5 > Deploy applications > Deploy applications to the Liberty profileDeploy a JPA application to the Liberty profile
To enable the Liberty profile to support an application that uses the Java™ Persistence API (JPA), you add the jpa-2.0 feature to server.xml. You also need to define persistence contexts and persistence units, and configure access to the entity manager and entity manager factory.
This task assumes that we have created a Liberty profile server, on which to deploy an application that uses JPA. See Create a Liberty profile server manually.
The jpa-2.0 feature provides support for applications that use application-managed and container-managed JPA written to the JPA 2.0 specification. The support is built on top of Apache OpenJPA with extensions to support the container-managed programming model.
- Add the jpa-2.0 feature to server.xml.
- Add persistence context and persistence unit definitions to web.xml.
For example:
<persistence-context-ref> <persistence-context-ref-name>example/em</persistence-context-ref-name> <persistence-unit-name>ExamplePersistenceUnit</persistence-unit-name> </persistence-context-ref> <persistence-unit-ref> <persistence-unit-ref-name>example/emf</persistence-unit-ref-name> <persistence-unit-name>ExamplePersistenceUnit</persistence-unit-name> </persistence-unit-ref>
- Configure access to the entity manager.
For example:
Context ctx = new InitialContext(); UserTransaction tran = (UserTransaction) ctx.lookup("java:comp/UserTransaction"); tran.begin(); EntityManager em = (EntityManager) ctx.lookup(java:comp/env/example/em"); Thing thing = new Thing(); em.persist(thing); tran.commit();
- Configure access to the entity manager factory.
For example:
Context ctx = new InitialContext(); EntityManagerFactory emf = (EntityManager) ctx.lookup(java:comp/env/example/emf"); EntityManager em = emf.createEntityManager(); EntityTransaction tx = em.getTransaction(); tx.begin(); Thing thing = new Thing(); em.persist(thing); tx.commit(); int id = thing.getId(); em.close();
Parent topic: Deploy applications to the Liberty profile
Reference:
Apache OpenJPA javadoc
Liberty features
|