1.Hibernate的发展和特点:

(1).Hibernate介绍:Hibernate是封装了JDBC的一种开放源代码的对象/关系映射(ORM Object-Relatiion Mapping)框架,使程序员可以使用面向对象的思想来操作数据库。Hibernate是一种对象/关系映射的解决方案,即将Java对象与对象之间的关系映射到数据库中表与表之间的关系。

(2).Hibernate的发展历史:

2001年,Hibernate1发布,即Hibernate的第一个版本。

2003年,Hibernate2发布,并在当年获得Jolt2004大奖(Jolt大奖素有“软件业界的奥斯卡”之美誉,共设通用类图书、技术类图书、语言和开发环境、框架库和组件、开发者网站等十余个分类大奖),2003年Hibernate被JBoss公司收购,成为该公司的子项目之一。

2005 年,JBoss发布Hibernate3;2006年,JBoss公司被Redhat公司收购。

2011年9月发布Hibernate4。

(3).Hibernate的功能:Hibernate提供了透明持久化功能,支持第三方框架,即能与其他框架进行整合,如Struts2、Spring3等,不但提供面向对象的HQL 而且支持传统的SQL语句。

(4).Hibernate可以作为应用的数据访问层或持久层。它具有以下特点:

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC 进行了非常轻量级的对象封装,使得Java 程序员可以随心所欲地使用面向对象编程思维来操纵数据库。

Hibernate的目标是成为Java中管理数据持久性问题的一种完整解决方案。它协调应用程序与关系型数据库的交互,让开发者解放出来专注于项目的业务逻辑问题。

Hibernate是一种非强迫性的解决方案。

2.Hibernate的工作原理,首先,附上一张图:

工作原理叙述如下:

(1).首先,Configuration读取Hibernate的配置文件和映射文件中的信息,即加载配置文件和映射文件,并通过Hibernate配置文件生成一个多线程的SessionFactory对象;

(2).然后,多线程SessionFactory对象生成一个线程Session 对象;Session对象生成Query对象或者Transaction对象;可通过Session对象的get(),load(),save(),update(),delete()和saveOrUpdate( )等方法对PO进行加载、保存、更新、删除等操作;

(3).在查询的情况下,可通过Session 对象生成一个Query对象,然后利用Query对象执行查询操作;如果没有异常,Transaction对象将提交这些操作结果到数据库中。

3.以上内容仅供大家学习参考,谢谢!



Hibernate的发展和特点以及Hibernate的工作原理简介相关推荐

  1. Hibernate第一次课(2)---Hibernate原理简介

    学员要求:熟悉Java.SQL.JDBC,掌握面向对象的开发方法,并有实际的项目开发经验. 培训目标:让学员了解O/R Mapping原理,掌握Hibernate开发的相关知识,并能使用Hiberna ...

  2. Hibernate的工作原理

            Hibernate的工作原理 原理: 1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件 2.由hibernate.c ...

  3. Hibernate工作原理

    现在我们知道了一个概念Hibernate Session,只有处于Session管理下的POJO才具有持久化操作能力.当应用程序对于处于Session管理下的POJO实例执行操作时,Hibernate ...

  4. Hibernate工作原理(1)

    这两天再看hibernate,就自己总结了hibernate对jdbc的封装过程. 1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件 ...

  5. struts2、hibernate工作原理和流程

    2019独角兽企业重金招聘Python工程师标准>>> struts2原理 在struts2的应用中,从用户请求到服务器返回相应响应给用户端的过程中,包含了许多组件如:Control ...

  6. hibernate整合mysql配置文件_springboot整合hibernate配置

    添加sprngboot依赖<?xml  version="1.0" encoding="UTF-8"?> xmlns:xsi="http: ...

  7. [Hibernate系列—] 1. 下载与试用Hibernate(MySQL与Oracle 配置)

    Hibernate是什么? 对于学习Java的开发者来说,这个问题不应该是一个问题. 一句话: Hibernate 是针对Java环境的对象/关系映射的解决方案,或者说是第三方库. 它的作用就是省去了 ...

  8. Struts1、Struts2、Hibernate、Spring框架工作原理介绍

    Struts1工作原理 Struts1工作原理图 1 .初始化: struts 框架的总控制器 ActionServlet 是一个 Servlet ,它在 web.xml 中配置成自动启动的 Serv ...

  9. linux关机 hibernate,实现Linux休眠(sleep/hibernate)和挂起(suspend)

    系统要求: 1.配置并编译内核:kernel2.6 2.软件:hibernate 测试环境: 1.系统Debian testing etch 2.桌面:fluxbox 3.Thinkpad r40 细 ...

最新文章

  1. 台式计算机如何自动关机,台式机如何设置自动关机
  2. python使用什么格式划分语句块-python以什么划分语句块
  3. 数据结构: 插值查找算法
  4. 这样调优:让你的 IDEA 快到飞起来,效率真高!
  5. Python正则表达式介绍 re.findall(pattern, str, flag=0)/re.I re.L re.M
  6. python udp编程_Python UDP编程
  7. 中方:开展科技合作应秉持开放、合作、包容心态
  8. 原码,反码,补码,移码四种机器码的表示方法及0的四种表示方法
  9. linux下编写sql脚本,在Linux系统中编写简易shell脚本,向PLSQL表中插入数据
  10. 解决OpenCV编译时./bin: error while loading shared libraries: libopencv_highgui.so.3.2: cannot open的问题
  11. 13个Python小游戏(含源码),开始敲起来,玩吧!
  12. 新手php环境一键安装包,PHP运行环境一键安装包(phpStudy2013)
  13. 6 种 Python 数据可视化工具
  14. 大学生计算机基础实验文库,大学计算机基础实验指导书(ecxel)
  15. Domain Driven Design 领域驱动设计
  16. 一个强迫症的电脑下(软件篇)
  17. 2017年闰秒linux,6月30日将迎来人类迎来史上第26次闰秒可引起部分linux系统重启...
  18. 关于opengl中glColor3f的应用
  19. UML建模工具使用之懒人操作
  20. 虚拟机安装教程win10_虚拟机安装实战教程

热门文章

  1. liferay 指定默认首页
  2. float,absolute脱离文档流的总结
  3. Vue 中 export及export default的区别
  4. 从统计代码来谈JS加载的优化
  5. [唐诗]正月十五日夜-苏味道
  6. 关于java.lang.ClassNotFoundException: org.git.mm.mysql.Driver的解决办法
  7. 2008年具有高校自主选拔录取资格的考生名单 - 江苏版
  8. 回调机制在 Android 监听用户界面操作中的体现
  9. jQuery初识 - jQuery中的方法
  10. 如果把去掉数组里面重复的项