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