JPA EntityManager详解

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(常用方法定义)

JAVA EE JPA系列介绍

 

posted @ 2018-09-07 15:04  水木竹水  阅读(9458)  评论(0编辑  收藏  举报