本文共 787 字,大约阅读时间需要 2 分钟。
Hibernate作为一个JPA实现,其启动过程与Hibernate的Native SessionFactory实例的构建过程有很大差异。
作为JPA实现,Hibernate必须实现对JPA EntityManagerFactory实例的构建。
JPA EntityManagerFactory实例的构建又可以分为2种实现方式,一种是以兼容JPA标准的方式启动(推荐),另一种是以软件厂商私有的独特方式启动。
下面介绍以兼容JPA标准的方式启动,对于第二种方式本文略过。
在JPA标准在,根据由EntityManagerFactory实例得到javax.persistence.EntityManager实例的实现方式的不同,又可以分为如下两种形式:
1. 对于 EE方式启动,JavaEE容器或OSGi容器将为persistence.xml文件中配置的每个持久化单元构建一个EntityManagerFactory实例。然后,通过javax.persistence.PersistenceUnit标注或JNDI查找注入到持久化单元中。示例如下:
@javax.persistence.PersistenceUnitprivate EntityManagerFactory emf;
2. 对于SE方式启动,没有容器负责构建EntityManagerFactory实例,应用只能自己通过javax.persistence.Persistence的静态方法构建EntityManagerFactory实例。示例如下:
javax.persistence.EntityManagerFactory emf = javax.persistence.Persistence.createEntityManagerFactory( "CRM" );
转载地址:http://wilai.baihongyu.com/