Hibernate|Hibernate5.4用户指南(一)之架构

Hibernate5.4官方用户指南

1 架构

1.1hibernate架构图

Hibernate|Hibernate5.4用户指南(一)之架构_第1张图片

如上Hibernate架构图所示:在数据访问层,通过调用JPA提供的API或者Hibernate提供的原生API使用Hibernate框架功能。Hibernate底层封装了JDBC,在Hibernate底层和关系型数据库进行交互。

1.2 JPA和Hibernate主要接口和类图

Hibernate|Hibernate5.4用户指南(一)之架构_第2张图片

  • SessionFactory (org.hibernate.SessionFactory)
    SessionFactory:应用程序域模型到数据库映射的一个线程安全(且不可变)表示。充当org.hibernate.session的实例。EntityManagerFactory与JPA中的SessionFactory是等价的。基本上,这两者聚合到同一个SessionFactory实现中。
    创建一个SessionFactory非常昂贵。因此,对于任何给定的数据库,应用程序应该只有一个关联的SessionFactory。SessionFactory维护Hibernate所有会话(如二级缓存、连接池、事务系统集成等)使用的服务。

  • Session (org.hibernate.Session)
    Session:一个单线程、短生命周期的对象。在JPA命名法中,Session由EntityManager表示。
    在底层,Hibernate Session封装了一个JDBC java.sql.Connection,并充当org.hibernate.Transaction的事务工厂。它维护应用程序域模型的一般“可重复读取”持久化上下文(第一级缓存)。

  • Transaction (org.hibernate.Transaction)
    Transaction:应用程序用来划分单个物理事务边界的单线程、短期存在的对象。EntityTransaction,将应用程序与正在使用的底层事务系统(JDBC或JTA)隔离开来。

Hibernate是JPA的一种实现。

你可能感兴趣的:(Hibernate)