---恢复内容开始---

一、面向对象设计的软件内部运行过程可以理解成就是不断创建各种新对象,建立对象之间的关系,调用对象的方法来改变各个对象的状态和对象消亡的过程。不管程序运行的过程和操作怎么样,本质上都是要得到一个结果,程序上一个时刻和下一个时刻的运行结果的差异就表现在内存中的对象状态发生的变化。

二、为了在关机和内存空间不够的状况下,保持程序的运行状态,需要将内存中的对象状态保存到持久化设备和从持久化设备中恢复出对象的状态,通常都是用关系型数据库来保存大量对象信息。从Java程序的运行功能上来讲,保存对象状态的功能相比系统运行的其他功能上来说,应该是一个很不起眼的附属功能,java采用jdbc来实现这个功能,这个不起眼的功能却要编写大量的代码,而做的事情仅仅是保存对象和恢复对象,而且这些大量的jdbc代码并没有什么技术含量,基本上是采用一套例行公事的标准代码模板来编写,是一种苦活和重复性的工作。

三、通过数据库保存java程序运行时产生的对象和恢复对象,其实就是实现了java对象与关系型数据库记录的映射关系,称之为ORM(Object Relation Mapping),人们可以通过封装JDBC代码来实现了这种功能,封装出来的产品称之为ORM框架,Hibernate就是其中的一种流行的ORM框架。使用HIbernate框架,不用写jdbc代码,仅仅调用save方法,就可以将对象保存到数据库中,仅仅是调用一个get方法,就可以从数据库中加载出一个对象。

四、使用Hibernate的基本流程是:配置configuration对象、产生SessionFactory、创建session对象、启动事务、完成CRUD操作、提交事务、关闭session。

五、使用Hibernate时,要先配置hibernate.cfg.xml文件,其中配置数据库连接信息和方言等,还要为每个实体配置hbm.xml文件,hibernate.cfg.xml文件中需要登记每个hbm.xml文件。

六、在应用Hibernate时,重点要了解session的缓存原理,级联,延迟加载和hql查询。

最新文章

  1. PE读写
  2. linux中的权限对于文件和目录的重要性
  3. oj 1031 random permutation
  4. Chef
  5. 《使用shell位置变量进行目录文件的备份小脚本》
  6. Object的wait()/notify()
  7. python中实现多线程的几种方式
  8. mongodb查询关于大于小于的用法;
  9. iphone开发中数据持久化之——模型对象归档(二)
  10. 入门Android开发
  11. vim 配置插件
  12. 浅析数据结构中栈与C实现
  13. go-ehtereum编译:
  14. 即时通讯(IV)
  15. Ubuntu中编译helloworld驱动
  16. Letter S Pronounced [z]
  17. Java 基础【15】 压缩与解压缩
  18. Sourcetree报错: 您没有已经配置扩展集成设置的远端
  19. tensorflow初始化参数内存占满问题
  20. Get a “step-by-step” evaluation in Mathematica

热门文章

  1. optparse
  2. 在CentOS 7.2下升级gcc编译器的版本
  3. appium for hybrid app 处理webview
  4. 【翻译】Fluent NHibernate介绍和入门指南
  5. go:关于变量地址的疑惑
  6. 浅谈spring 声明式事物
  7. es6要用严格模式
  8. ubuntu下命令杂项
  9. Device Tree(二):基本概念
  10. 让Git忽略所有obj和bin目录的同步