Hibernate架构

先决条件: 冬眠简介

null

冬眠: Hibernate是一个用于开发独立于数据库软件的持久性逻辑的框架。在JDBC中,为了开发持久性逻辑,我们要处理基本类型。而Hibernate框架则使用对象来开发独立于数据库软件的持久性逻辑。

Hibernate架构:

图片[1]-Hibernate架构-yiteyi-C++库

配置:

  • 配置是存在于组织中的一个类。冬眠cfg软件包。它激活了Hibernate框架。它同时读取配置文件和映射文件。
    It activate Hibernate Framework
    Configuration cfg=new Configuration();
    It read both cfg file and mapping files
    cfg.configure();
    
  • 它检查配置文件的语法是否正确。
  • 如果配置文件无效,则会引发异常。如果它是有效的,那么它会在内存中创建一个元数据,并将元数据返回给对象以表示配置文件。

SessionFactory:

  • SessionFactory是组织中存在的一个接口。hibernate包,用于创建会话对象。
  • 它本质上是不可变的和线程安全的。
    buildSessionFactory() method gathers the meta-data which is in the cfg Object. 
    From cfg object it takes the JDBC information and create a JDBC Connection.
    SessionFactory factory=cfg.buildSessionFactory();
    

会议:

  • 会话是一个存在于组织中的接口。休眠软件包。会话对象是基于SessionFactory对象(即工厂)创建的。
  • 它通过Hibernate框架打开与数据库软件的连接/会话。
  • 它是一个重量轻的物体,不安全。
  • 会话对象用于执行CRUD操作。
    Session session=factory.buildSession();
    

交易:

  • 每当我们执行任何操作时,都会使用事务对象,并且基于该操作,数据库中会发生一些更改。
  • Transaction对象用于通过使用commit()方法,向数据库发出指令,以使其作为永久操作进行更改。
    Transaction tx=session.beginTransaction();
    tx.commit();
    

查询:

  • 查询是组织内部的一个界面。休眠软件包。
  • 通过调用会话获得查询实例。createQuery()。
  • 此接口公开了会话提供的功能之外的一些额外功能。迭代()和会话。查找():
    1. 可以通过调用setMaxResults()、setFirstResult()来选择结果集的特定页面。
    2. 可以使用命名的查询参数。
    Query query=session.createQuery();
    

标准:

  • Criteria是通过组合Criteria对象来检索实体的简化API。
  • 课程是标准的工厂。标准实例通常通过工厂方法获得。
    Criteria criteria=session.createCriteria();
    

在Hibernate框架中操作期间的工作流程:

假设我们想在数据库中插入一个对象。这里的对象只不过是持久性逻辑,我们在java程序上编写并创建该程序的对象。如果我们想在数据库中插入该对象,或者我们想从数据库中检索该对象。现在的问题是hibernate如何将对象保存到数据库或从数据库中检索对象。Hibernate框架通过几层实现上述任务。让我们在执行操作时了解Hibernate框架的层次/流程:

图片[2]-Hibernate架构-yiteyi-C++库

第一阶段: 在第一阶段,我们将编写持久化逻辑,借助Hibernate配置文件和Hibernate映射文件对数据库执行一些特定操作。然后我们创建了一个特定类的对象,我们在这个对象上编写了持久性逻辑。

第二阶段: 在第二阶段,包含持久性逻辑的类将与hibernate框架交互,hibernate框架在其中提供一些抽象并执行一些任务。现在,java类的图片结束了。现在Hibernate负责在Hibernate框架下面的层的帮助下执行持久性逻辑,或者我们可以说这些层是Hibernate的内部实现。

第三阶段: 在第三阶段,我们的hibernate框架将JDBC、JNDI、JTA等交互到数据库以执行持久性逻辑。

第四和第五阶段: 在第四和第五阶段,hibernate在JDBC驱动程序的帮助下与数据库交互。现在hibernate执行持久化逻辑 积垢 活动如果我们的持久化逻辑是检索一条记录,那么它将以相反的顺序显示在java程序的控制台上。

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享