hibernate 是一款全自动的框架
,Hibernate是数据库持久层的一个轻量级框架。数据库持久层的框架有很多比如:iBATIS,myBatis,Nhibernate,Siena等等。并且Hibernate是一个开源的orm(object relations mode)框架,提供了查询获取数据库的方法,用面向对象的的思想来从操作数据库,节省了我们开发处理数据的时间
![5ee2c322408757e7176efa04c2f83644.png](https://i-blog.csdnimg.cn/blog_migrate/c0e6c9288b7813a7190a32020925395d.jpeg)
![42bd2c525d98731def084aa7e96f2ca7.png](https://i-blog.csdnimg.cn/blog_migrate/14a93089dd9073ba9b194bec15c4ef60.jpeg)
![472aceaf79d07ad704f0ffd1fcae5485.png](https://i-blog.csdnimg.cn/blog_migrate/e6d267ccdc2586f0861acc48fedb473b.jpeg)
![0ee99e5ac84840cab29d6b8a76aceb9c.png](https://i-blog.csdnimg.cn/blog_migrate/d02fa2c8312834a97f1b088b3827b7b2.jpeg)
使用简介的hql语句(Hibernate query language)。可以不使用传统的insert,update等sql语句。 比如insert一个对象,原来的做法是: insert into 表名称 value (值1,值2,值2.。。。。),而现在的做法是: save(对象)。
2)使用or映射。对象到关系数据库之间的映射。是从对象的角度操作数据库,再次体现了面向对象思想。原来的实体抽取方法:首先有了表,然后表映射实体对象。
3)没有侵入性 ,移植性比较好。什么是没有侵入性?
就是Hibernate采用了pojo对象。所谓的pojo对象就是没有继承Hibernate类或实现Hibernate接口。这样的话,此类就是一个普通的类,所以移植性比较好。
4)支持透明化。透明是针对上层而言的。三层架构的理念是上层对下层的依赖,只是依赖接口不依赖具体实现。而Hibernate中的透明是指对业务逻辑层提供了一个接口session,而其他的都封装隐藏。持久化是指把内存中的数据存放到磁盘上的文件中。
3 .当然一个事务,不可能十全十美。比如大量数据批量操作。则不适合使用Hibernate。并且一个持久化对象不能映射到多张表中。
使用简介的hql语句(Hibernate query language)。可以不使用传统的insert,update等sql语句。 比如insert一个对象,原来的做法是: insert into 表名称 value (值1,值2,值2.。。。。),而现在的做法是: save(对象)。
2)使用or映射。对象到关系数据库之间的映射。是从对象的角度操作数据库,再次体现了面向对象思想。原来的实体抽取方法:首先有了表,然后表映射实体对象。
3)没有侵入性 ,移植性比较好。什么是没有侵入性?
就是Hibernate采用了pojo对象。所谓的pojo对象就是没有继承Hibernate类或实现Hibernate接口。这样的话,此类就是一个普通的类,所以移植性比较好。
4)支持透明化。透明是针对上层而言的。三层架构的理念是上层对下层的依赖,只是依赖接口不依赖具体实现。而Hibernate中的透明是指对业务逻辑层提供了一个接口session,而其他的都封装隐藏。持久化是指把内存中的数据存放到磁盘上的文件中。
3 .当然一个事务,不可能十全十美。比如大量数据批量操作。则不适合使用Hibernate。并且一个持久化对象不能映射到多张表
介绍附上原文:
原文:https://blog.csdn.net/zhupengqq/article/details/81838467