Hibernate 架构分析
首先看一下 Hibernate 5.2 版本中,官方提供的架构图。

从架构图上,我们可以知道 Hiberante 实现的 ORM 的接口有两种,一种是 Hiberante 自己的 API 接口;一种是 Java Persistence API 的接口实现。
因为 Hibernate 其实是比 Java Persistence API 早几年发展的,后来才有了 Java 的持久化协议。以我个人的观点来看,随着时间的推移,Hiberante 的实现逻辑可能会逐渐被弱化,由 Java Persistence API 统一对外提供服务。
那么有了这个基础,我们研究 Hibernate 在 Spring Data JPA 里面的作用,得出的结论就是:Hibernate 5.2 是 Spring Data JPA 持久化操作的核心。我们再从类上面具体看一下,关键类的图如下所示:

结合类的关系图来看,Session 接口和 SessionFactory 接口都是 Hibernate 的概念,而 EntityManger 和 EntityManagerFactory 都是 Java Persistence API 协议规定的接口。
不过 HibernateEntityManger 从 Hibernate 5.2 之后就开始不推荐使用了,而是建议直接使用 EntityManager 接口即可。那么我们看看 Hibernate 在 Spring BOOT 里面是如何被加载进去的。
本文探讨了Hibernate5.2版本的架构特点,包括其在SpringDataJPA中的作用及其实现逻辑。文章分析了Hibernate与JavaPersistenceAPI的关系,并详细介绍了关键类之间的联系。
1537

被折叠的 条评论
为什么被折叠?



