EntityManager是JPA中用于增删改查的接口,它的作用相当于一座桥梁,连接内存中的java对象和数据库的数据存储。其接口如下:
public interface EntityManager { public void persist(Object entity); public <T> T merge(T entity); public void remove(Object entity); public <T> T find(Class<T> entityClass, Object primaryKey); // ...... }
EntityManager托管方式由两种:容器托管(EntityManger && PersistenceContext)和应用托管(EntityManagerFactory && PersistenceUnit),比较简单的方式是采用容器托管(EJB容器)。实现方式如下,以查询为例:
① 定义EntityManager实例:
@PersistenceContext private EntityManager entityManager;
② 通过EntityManager实例执行sql,查询对象列表:
Query query = entityManager.createNativeQuery(sql, clazz); for(int i = 0 ; i < paramList.size() ; i++){ query.setParameter(i+1, paramList.get(i)); } query.getResultList();
参考:
JPA EntityManager详解(包含其参考文件)