-
面向对象设计的软件内部运行过程可以理解成就是在不断创建各种新对象、建立对象之
间的关系,调用对象的方法来改变各个对象的状态和对象消亡的过程,不管程序运行的过程
和操作怎么样,本质上都是要得到一个结果,程序上一个时刻和下一个时刻的运行结果的差
异就表现在内存中的对象状态发生了变化。 -
为了在关机和内存空间不够的状况下,保持程序的运行状态,需要将内存中的对象状态保
存到持久化设备和从持久化设备中恢复出对象的状态,通常都是保存到关系数据库来保存大
量对象信息。从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 查询。