EntityManager是JPA中用于增删改查的接口,它的做用至关于一座桥梁,链接内存中的java对象和数据库的数据存储。其接口以下:html
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容器)。实现方式以下,以查询为例:java
① 定义EntityManager实例: sql
@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();
参考: spa
JPA EntityManager详解(包含其参考文件).net
Spring Boot-------JPA——EntityManager构建通用DAO(经常使用方法定义)code