Hibernate 是一个开放源代码的对象关系映射框架,也可以称之为数据持久层框架,它对JDBC进行了非常轻量级的对象封装,是一个全自动的orm框架,Hibernate 可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
软件特色
1、使用GNU宽通用公共许可证发行的自由、开源的软件。
2、Hibernate 为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。
3、Hibernate 是一种Java语言下的对象关系映射解决方案。
4、Hibernate 也是目前Java开发中最为流行的数据库持久层框架,现已归JBOSS所有。
5、Hibernate 的设计目标是将软件开发人员从大量相同的数据持久层相关编程工作中解放出来。
6、Hibernate 还提供了面向对象的数据查询检索机制,从而极大地缩短的手动处理SQL和JDBC上的开发时间。
7、无论是从设计草案还是从一个遗留数据库开始,开发人员都可以采用Hibernate。
8、不仅负责从Java类到数据库表的映射,还包括从Java数据类型到SQL数据类型的映射。
更新日志
1、巩固JPA支持Hibernate的核心。
2、Jcache支持,使用任何兼容的缓存实现Jcache作为二级缓存支持。
3、会话级批量支持
4、hibernate-java8模块已被删除,并已搬intohibernate核心功能。
5、支持java 8日期/时间类型作为查询参数。
6、支持流媒体(java.util.stream.Stream)的查询结果。
7、已添加了用于指定每个会话的写操作的批处理大小的支持。
8、支持java.util.optional从方法返回null返回。
9、利用java 8”默认的方法”时,引入新的方法来扩展点。
Hibernate的优/缺点
优点:
1、更加对象化
以对象化的思维操作数据库,我们只需要操作对象就可以了,开发更加对象化。
2、移植性
因为Hibernate做了持久层的封装,你就不知道数据库,你写的所有的代码都具有可复用性。
3、Hibernate是一个没有侵入性的框架,没有侵入性的框架我们称为轻量级框架。
对比Struts的Action和ActionForm,都需要继承,离不开Struts。Hibernate不需要继承任何类,不需要实现任何接口。这样的对象叫POJO对象。
4、Hibernate代码测试方便。
5、提高效率,提高生产力。
缺点:
1、使用数据库特性的语句,将很难调优
2、对大批量数据更新存在问题
3、系统中存在大量的攻击查询功能









