Hibernate基本概念

       咱们学习一门技术首先要了解它的基本概念,它究竟是什么,它是干什么的,它有什么优缺点。下面我就带领你们一块儿回顾一下Hibernate:数据库

什么是Hibernate?

      Hibernate,翻译过来是冬眠的意思,其实对于对象来讲就是持久化。架构

      持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在关系型的数据库中,固然也能够存储在磁盘文件中、XML数据文件中等等。app

     持久化是将程序数据在持久状态和瞬时状态间转换的机制。框架

     JDBC就是一种持久化机制。文件IO也是一种持久化机制。学习

咱们从三个角度理解一下Hibernate:测试

1、Hibernate是对JDBC进一步封装spa

       原来没有使用Hiberante作持久层开发时,存在不少冗余,如:各类JDBC语句,connection的管理,因此出现了Hibernate把JDBC封装了一下,咱们不用操做数据,直接操做它就好了。hibernate

2、咱们再从分层的角度来看翻译

       咱们知道很是典型的三层架构:表示层,业务层,还有持久层。Hiberante也是持久层的框架,并且持久层的框架还有不少,好比:IBatis,Nhibernate,JDO,OJB,EJB等等。orm

3、Hibernate是开源的一个ORM(对象关系映射)框架

      ORM,即Object-Relational Mapping,它的做用就是在关系型数据库和对象之间作了一个映射。从对象(Object)映射到关系(Relation),再从关系映射到对象。这样,咱们在操做数据库的时候,不须要再去和复杂SQL打交道,只要像操做对象同样操做它就能够了(把关系数据库的字段在内存中映射成对象的属性)。

 

Hibernate的核心:

 

                 

 

     从上图中,咱们能够看出Hibernate六大核心接口,两个主要配置文件,以及他们直接的关系。Hibernate的全部内容都在这了。那咱们从上到下简单的认识一下,每一个接口进行一句话总结。

一、Configuration接口:负责配置并启动Hibernate

二、SessionFactory接口:负责初始化Hibernate

三、Session接口:负责持久化对象的CRUD操做

四、Transaction接口:负责事务

五、Query接口和Criteria接口:负责执行各类数据库查询

注意:Configuration实例是一个启动期间的对象,一旦SessionFactory建立完成它就被丢弃了。

Hibernate的优/缺点:

优势:

一、更加对象化

      以对象化的思惟操做数据库,咱们只须要操做对象就能够了,开发更加对象化。

二、移植性
      由于Hibernate作了持久层的封装,你就不知道数据库,你写的全部的代码都具备可复用性。

三、Hibernate是一个没有侵入性的框架,没有侵入性的框架咱们称为轻量级框架。

      对比Struts的Action和ActionForm,都须要继承,离不开Struts。Hibernate不须要继承任何类,不须要实现任何接口。这样的对象叫POJO对象。

四、Hibernate代码测试方便。

五、提升效率,提升生产力。

缺点:

一、使用数据库特性的语句,将很难调优

二、对大批量数据更新存在问题

三、系统中存在大量的攻击查询功能

 
总结:

      Hibernate的核心就是使咱们能够用面向对象的思惟来操做关系型数据库。

相关文章
相关标签/搜索