Hibernate(基础知识)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38749759/article/details/89305530

Hibernate(开放源代码的对象关系映射框架)

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的JaveEE架构中取代CMP,完成数据持久化的重任。(--源自百度百科)

  • 持久化

hibernate称为持久化框架,他帮助我们完成的工作就是将数据持久化到数据库,这个专业术语的意思到底是什么呢?我上网查了一下持久化的定义,如下

    持久化是将数据在持久状态和瞬时状态间转化的一种机制。通俗的讲,就是瞬时数据(比如内存中的数据,是不能永久保存的)持久化持久数据(比如持久化到数据库中,能够长久保存)

持久化这个概念中包含了两种对象的状态:一种是瞬时状态,另一种是持久化状态,其实在持久化声明周期中还包括了脱管状态和移除状态。

  • 2.2对象关系映射

hibernate是一种ORM框架,其中的ORM的全称就是对象/关系数据库映射(object/relational mapping),他的作用是业务实体对象和关系数据库之间做一个映射。这样我们就可以将关注点放在业务实体上,而不必关心数据库有哪些字段那些表格

两者的对应关系:

  •     表—类
  •     字段—属性
  •     记录—对象
     

1 理解ORM基本原理

 ORM(Object Relational Mapping)对象关系映射,它的作用是在关系数据库和对象之间做一个自动映射,将数据库中的数据表映射成为对象,也就是持久化类,对关系型数据库以对象的形式进行操作,减少应用程序开发过程中数据持久化的编程任务。可以把ORM理解为关系型数据和对象的一个纽带,开发时只需关注纽带的一端的映射对象即可。

                               ORM原理图

Hibernate是众多ORM工具中比较优秀的框架,相对于IBATIS,它是全自动的关系/对象的解决方案。Hibernate通过持久化类*.java、映射文件*.hbm.xml和配置文件*.cfg.xml操作关系型数据库,使得开发人员不必纠结于复杂的SQL语句。

2 Hibernate简介

Hibernate体系概要图:

Hibernate是通过数据库和配置信息进行数据持久化服务和持久化对象的。Hibernate封装了数据库访问的细节,通过配置的属性文件这个纽带连接关系型数据库和程序中的实体类。

Hibernate中有三个重要的类:配置类Configuration、会话工厂类SessionFactory、会话类Session

配置类Configuration:

  配置类主要负责管理Hibernate的配置信息以及启动Hibernate,在Hibernate运行时配置类会读取一些底层实现的基本信息,包括数据库URL、数据库用户名、数据库用户密码、数据库驱动类和数据库适配器(dialect).

会话工厂类SessionFactory:

  会话工厂类是生成Session的工厂,它保存了当前数据库中所有的映射关系(.hbm.xml),可能只有一个可选的二级数据缓存,并且他是线程安全的。但是会话工厂类是一个重量级对象,它的初始化创建过程会耗费大量资源。

会话类Session:

  它负责Hibernate所有的持久化操作,通过它开发人员可以实现数据库基本的增删改查操作。但是会话类并不是线程安全的,不要多个线程共享一个Session。

猜你喜欢

转载自blog.csdn.net/qq_38749759/article/details/89305530