Obtaining an EntityManager

Now that you have packaged and deployed your persistence units, you need to obtain access to an EntityManager so that you can persist, update, remove, and query your entity beans within your databases. In Java SE, entity managers are created using a javax.persistence.EntityManagerFactory. Although you can use the factory interface in Java EE, the platform provides some additional features that make it easier and less verbose to manage entity manager instances.

EntityManagerFactory

EntityManagers may be created or obtained from an EntityManagerFactory. In a Java SE application, you must use an EntityManagerFactory to create instances of an EntityManager. Using the factory isn’t a requirement in Java EE, and we recommend that you don’t use it directly from application code.

package javax.persistence;

import java.util.Map;
import javax.persistence.metamodel.Metamodel;
import javax.persistence.criteria.CriteriaBuilder;

public interface EntityManagerFactory
{
    public EntityManager createEntityManager();
    public EntityManager createEntityManager(Map map);
    public CriteriaBuilder getCriteriaBuilder();
    public Metamodel getMetamodel();
    public boolean isOpen();
    public void close();
    public Map<String, Object> getProperties();
    public Cache getCache();
    public PersistenceUnitUtil getPersistenceUnitUtil();
}

The createEntityManager() methods return EntityManager instances that manage a distinct extended persistence context. You can pass in a java.util.Map parameter to override ...

Get Enterprise JavaBeans 3.1, 6th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.