Hibernate是什么?
1.什么是Hibernate?
首先,Hibernate是数据持久层的一个轻量级框架。数据持久层的框架有很多比如:iBATIS,
myBatis,Nhibernate,Siena等等。
并且Hibernate是一个开源的orm(object relations model)框架,提供了查询获取数据的方
法,用面向对象的思想来操作数据库,节省了我们开发处理数据的时间。
2.那使用Hibernate的优点呢?
1)使用简介的hql语句(Hibernate query language)。可以不使用传统的insert,update等
sql语句。比如insert一个对象,原来的做法是:insert into 表名称value(值1,值2,值3,……),
而现在的做法是:save(对象)。
2)使用or映射。对象到关系数据库之间的映射。是从对象的角度操作数据库,再次体现了面向对象
思想。原来的实体抽取方法:首先有了表,然后表映射实体对象。而现在Hibernate做法是:直接
由对象映射到表。
3)没有侵入性,移植性比较好。什么是没有侵入性?就是Hibernate采用了pojo对象。所谓的pojo
对象就是没有继承Hibernate类或实现Hibernate接口。这样的话,此类就是一个普通的java类,
所以移植性比较好。
4)支持透明持久化。透明是针对上层而言的。三层架构的理念是上层对下层的依赖,只是依赖接口
不依赖具体实现。而Hibernate中的透明是指对业务逻辑层提供了一个接口session,而其他的都
封装隐藏。持久化是指把内存中的数据存放到磁盘上的文件中。
3.当然一个事物,不可能十全十美,即使如此优秀的Hibernate也有自己的弱点。比如:若是大量
数据批量操作。则不适合使用Hibernate。并且一个持久化对象不能映射到多张表中。
面向java环境的对象/关系数据库映射工具。
1.开源的持久层框架.
2.ORM(Object/Relational Mapping)映射工具,建立面向对象的域模型和关系数据模型之间的映射.
3.连接java应用和数据库的中间件.
4.对JDBC进行封装,负责java对象的持久化.
5.在分层结构中处于持久化层,封装对数据库的访问细节,
使业务逻辑层更专注于实现业务逻辑
1 ORM(Object Relation Mapping):对象关系映射,其中的O指的是java对象,R指的关系型数据库,
M指的是在java对象和关系型数据库之间建立起来的映射关系
2 ORM下具体的技术实现(列出3个)
Hibernate,Ibatis(Mybatis),JPA