【hibernate进阶】hibernate基本原理
hibernate作为SSH的持久层,是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。使用Hibernate可以增加开发速度,并且程序员可以花更多的时间来关注业务逻辑。本篇文章主要从hibernate是什么,为什么要用hibernate,以及hibernate的优缺点来介绍hibernate的基本原理。
hibernate是什么
Hibernate是一个对象关系映射(ORM)框架,hibernate也是一个持久层框架,除了hibernate,还有Oracle Toplink,JDO,Apache OJB,EJB,JPA。
为什么要用hibernate
使用hibernate可以使我们采用对象化的思维操作关系型数据库
1、Hibernate对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码
2、Hibernate是一个基于jdbc的主流持久化框架,是一个优秀的orm实现,它很大程度的简化了dao层编码工作
3、Hibernate使用java的反射机制,而不是字节码增强程序类实现透明性
4、Hibernate的性能非常好,因为它是一个轻量级框架,映射的灵活性很出色。它支持很多关系型数据库,从一对一到多对多的各种复杂关系
hibernate的优缺点
优点:
1、提高生产力。使用简介的hql语句,如插入数据:原来的做法是:insert into 表名称 value(值1,值2,值3,……),而现在的做法是:save(对象)。
2、使开发更加对象化(阻抗不匹配)
3、可移植性。支持各种数据库,如果换个数据库只要在配置文件中变换配置就可以了,不用改变hibernate代码
4、没有侵入性,支持透明持久化
缺点:
1、使用数据库特性的语句,将很难调优
2、对大批量数据更新存在问题
3、系统中存在大量的统计查询功能