博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hibernate 5的启动过程分析之EntityManagerFactory
阅读量:4179 次
发布时间:2019-05-26

本文共 787 字,大约阅读时间需要 2 分钟。

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.PersistenceUnitprivate EntityManagerFactory emf;

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

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

转载地址:http://wilai.baihongyu.com/

你可能感兴趣的文章
多个线程操作数组
查看>>
定长线程池的应用
查看>>
生产者和消费者模式
查看>>
ArrayBlockingQueue的简单使用
查看>>
Git 常用命令总结(一)
查看>>
Git 常用命令总结(二)
查看>>
JAVA 并发——synchronized的分析
查看>>
Echarts——使用 dataset 管理数据
查看>>
DES 加解密工具类
查看>>
JAVA乱码问题——URL中的+,空格,/,?,%,#,&,= 及转义处理
查看>>
Base64编解码工具类
查看>>
使用IntelliJ IDEA2018创建Maven多模块项目
查看>>
SpringBoot多模块项目实践(Multi-Module)
查看>>
第一篇: 服务的注册与发现Eureka(Greenwich版)
查看>>
第二篇: 服务消费者(rest+ribbon)(Greenwich版本)
查看>>
第三篇: 服务消费者(Feign)(Greenwich版本)
查看>>
获取客户的真实IP地址
查看>>
第四篇: 熔断器(Ribbon+Feign)(Greenwich版本)
查看>>
第五篇: 路由网关(zuul)(Greenwich版本)
查看>>
Git 常用命令总结(三)
查看>>