EntityManager对象管理

Posted RainDream

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EntityManager对象管理相关的知识,希望对你有一定的参考价值。

根据EntityManager对象的管理方式,可以有以下两种类型:

 

— 容器托管的(container-managed)EntityManager对象 

容器托管的EntityManager对象最简单,程序员不需要考虑EntityManager连接的释放,以及事务等复杂的问题,所有这些都交给容器去管理。容器托管的EntityManager对象必须在EJB容器中运行,而不能在Web容器和J2SE的环境中运行。如果EntityManager对象都是通过注入 @PersistenceContext注释来获得的,这种获得EntityManager对象的方式就是容器托管的。 

— 应用托管的(application-managed)EntityManager对象 

应用托管的EntityManager对象,程序员需要手动地控制它的释放和连接、手动地控制事务等。但这种获得应用托管的EntityManager对象的方式,不仅可以在EJB容器中应用,也可以使 JPA脱离EJB容器,而与任何的Java环境集成,比如说Web容器、J2SE环境等。所以从某种角度上来说,这种方式是JPA能够独立于EJB环境运行的基础。

以上是关于EntityManager对象管理的主要内容,如果未能解决你的问题,请参考以下文章

Spring+JPA EntityManager 注入 service 和 dao

如何使用spring注入JPA EntityManager

注入 EntityManager 与。实体管理器工厂

如何在 CDI 环境中管理 EntityManager 生命周期(使用 Tomcat)

应用程序与容器管理的 EntityManager

持久化对象时没有可用的事务性 EntityManager