Hibernate 5的启动过程分析之EntityManagerFactory

Hibernate作为一个JPA实现,其启动过程与Hibernate的Native SessionFactory实例的构建过程有很大差异。

作为JPA实现,Hibernate必须实现对JPA EntityManagerFactory实例的构建。

JPA EntityManagerFactory实例的构建又可以分为2种实现方式,一种是以兼容JPA标准的方式启动(推荐),另一种是以软件厂商私有的独特方式启动。

下面介绍以兼容JPA标准的方式启动,对于第二种方式本文略过。

在JPA标准在,根据由EntityManagerFactory实例得到javax.persistence.EntityManager实例的实现方式的不同,又可以分为如下两种形式:

  • EE(容器启动)
  • SE(应用启动)

1. 对于 EE方式启动,JavaEE容器或OSGi容器将为persistence.xml文件中配置的每个持久化单元构建一个EntityManagerFactory实例。然后,通过javax.persistence.PersistenceUnit标注或JNDI查找注入到持久化单元中。示例如下:

@javax.persistence.PersistenceUnit
private EntityManagerFactory emf;


2. 对于SE方式启动,没有容器负责构建EntityManagerFactory实例,应用只能自己通过javax.persistence.Persistence的静态方法构建EntityManagerFactory实例。示例如下:

javax.persistence.EntityManagerFactory emf = javax.persistence.Persistence.createEntityManagerFactory( "CRM" );


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值