Hibernate 简介

咱们从三个角度理解一下Hibernateweb

 

1、Hibernate是对JDBC进一步封装数据库

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

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

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

 

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

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

 

 

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

1Configuration接口:负责配置并启动Hibernatehibernate

2SessionFactory接口:负责初始化Hibernateorm

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

4Transaction接口:负责事务

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

 

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

 

Hibernate的优/缺点:

 

优势:

1、更加对象化

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

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

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

      对比StrutsActionActionForm,都须要继承,离不开StrutsHibernate不须要继承任何类,不须要实现任何接口。这样的对象叫POJO对象。

4Hibernate代码测试方便。

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

 

缺点:

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

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

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

相关文章
相关标签/搜索