Java持久化API诞生在EJB2实体Bean的废墟之上,并成为下一代Java持久化标准。JPA是基于POJO的持久化机制,它从Hibernate和Java数据对象上借鉴了很多理念并加入了Java5注解的特性。
实体管理器
JPA定义了两种类型的实体管理器:
- 应用程序管理类型:但应用程序向实体管理器工厂直接请求实体管理器时,工厂会创建一个实体管理器。这种模式下,程序要负责打开或关闭实体管理器并在事务中对其进行控制。这种方式的实体管理器适合于不运行在Java EE容器的独立应用程序。
- 容器管理类型:实体管理器由Java EE创建和管理。应用程序根本不与实体管理器工厂打交道。相反,实体管理器直接通过注入或JNDI来获取。容器负责配置实体管理器工厂。这种类型的实体管理器最适合用于Java EE容器,在这种情况下会希望在persistence.xml指定的JPA配置之外保持一些自己对JPA的控制。
网友评论