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詳解(包含其參考文件)
Spring Boot-------JPA——EntityManager構建通用DAO(常用方法定義)
