hibernate>介绍

hibernate(冬眠)

一、对象关系映射Object RelationalMapping,简称ORM

ORM是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动持久化到关系数据库中。本质上就是将数据从一种形式转换到另外一种形式。

二、WhyORM?
面向对象的开发方法是当今企业级应用开发环境中的主流开发方法
关系数据库是企业级应用环境中永久存放数据的主流数据存储系统
三、Hibernate能做什么
Hibernate能帮助我们利用面向对象的思想,开发基于关系型数据库的应用程序
第一:将对象数据保存到数据库
第二:将数据库数据读入对象中

四、Hibernate优点

(1) 对象/关系数据库映射(ORM)

它使用时只需要操纵对象,使开发更对象化,抛弃了数据库中心的思想,完全的面向对象思想

(2) 透明持久化(persistent)

带有持久化状态的、具有业务功能的单线程对象,此对象生存期很短。这些对象可能是普通的JavaBeans/POJO,这个对象没有实现第三方框架或者接口,唯一特殊的是他们正与(仅仅一个)Session相关联。一旦这个Session被关闭,这些对象就会脱离持久化状态,这样就可被应用程序的任何层自由使用。(例如,用作跟表示层打交道的数据传输对象。)

(3) 事务Transaction(org.hibernate.Transaction)

应用程序用来指定原子操作单元范围的对象,它是单线程的,生命周期很短。它通过抽象将应用从底层具体的JDBC、JTA以及CORBA事务隔离开。某些情况下,一个Session之内可能包含多个Transaction对象。尽管是否使用该对象是可选的,但无论是使用底层的API还是使用Transaction对象,事务边界的开启与关闭是必不可少的。

(4) 它没有侵入性,即所谓的轻量级框架

(5) 移植性会很好

(6) 缓存机制,提供一级缓存和二级缓存

(7) 简洁的HQL编程

五. Hibernate缺点,不适合场景

(1) Hibernate在批量数据处理时有弱势

(2) 针对单一对象简单的增删查改,适合于Hibernate,而对于批量的修改,删除,不适合用Hibernate,这也是OR框架的弱点;要使用数据库的特定优化机制的时候,不适合用Hibernate

六、其它的持久化层技术:
Apache OJB, JDO, Toplink, EJB(CMP)JPA, iBatis

 

 

 

原文地址:https://www.cnblogs.com/xqzt/p/5637436.html