<?xml version="1.0" encoding="UTF-8"?> <ejb-jar version = "3.0" xmlns = "http://java.sun.com/xml/ns/javaee" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"> <enterprise-beans> <session> <ejb-name>TestEJB</ejb-name> <persistence-context-ref> <persistence-context-ref-name>REFERENCE_TO_ENTITY_MANAGER</persistence-context-ref-name> <persistence-unit-name>PERSISTENCE_UNIT_NAME</persistence-unit-name> </persistence-context-ref> <persistence-unit-ref> <persistence-unit-ref-name>REFERENCE_TO_ENTITY_MANAGER_FACTORY</persistence-unit-ref-name> <persistence-unit-name>PERSISTENCE_UNIT_NAME</persistence-unit-name> </persistence-unit-ref> </session> </enterprise-beans> </ejb-jar>
getTransaction()
will return instance of EJBContext
located in "java:comp/EJBContext" in JNDI. Transaction will be committed by container. To roll back transaction EJBContext.setRollbackOnly()
is used. ENTITY_MANAGER, ENTITY_MANAGER_FACTORY, JPA_ENTITY_MANAGER, JPA_ENTITY_MANAGER_FACTORY, JPA_PERSISTENCE_UNIT_NAME, JPA_TRANSACTION, PERSISTENCE_UNIT_NAME, TRANSACTION
EMFProviderCMT(String entityManagerRef, String entityManagerFactoryRef)
EMFProviderCMT(Properties config)
void
jakarta.persistence.EntityManagerFactory
get()
EntityManagerFactory
found in container's environment context.jakarta.persistence.EntityManager
EntityManager
found in container's environment context.getTransaction(jakarta.persistence.EntityManager em)
EJBContext
found in container's environment context.void
returnEntityManager(jakarta.persistence.EntityManager em)
EntityManager
.void
tx.setRollbackOnly()
.EntityManager
and EntityManagerFactory
in container's environment context.EntityManager
and EntityManagerFactory
in container's environment context.config
- Properties
for provider configuration.entityManagerRef
- String
name of context reference to entity manager.entityManagerFactoryRef
- String
name of context reference to entity manager factory.EntityManagerFactory
found in container's environment context.get
in interface EMFProviderInterface
EntityManagerFactory
can be used to acquire meta-data (for JPA 2.0) or implement "application managed entity manager" pattern.EntityManager
found in container's environment context.getEntityManager
in interface EMFProviderInterface
EntityManager
for persistence operations.jakarta.persistence.PersistenceException
- if unable to acquire EntityManager
.EntityManager
.returnEntityManager
in interface EMFProviderInterface
em
- EntityManager
which should be closed.EJBContext
found in container's environment context.getTransaction
in interface EMFProviderInterface
em
- EntityManager
needed if joining to existing transaction or null.Object
Transaction for persistence operations.jakarta.persistence.PersistenceException
- if unable to acquire or open transaction.Exception
- if unable to acquire or open transaction.commitTransaction
in interface EMFProviderInterface
tx
- Object
transaction to be commited.Exception
- occured while committing transaction.tx.setRollbackOnly()
.rollbackTransaction
in interface EMFProviderInterface
tx
- Object
transaction to be rolled back.