答:

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

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

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

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

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

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

最新文章

  1. Kindeditor在ThinkPHP框架下的使用
  2. 【BZOJ-3195】奇怪的道路 状压DP (好题!)
  3. java 线程的让步
  4. 给文本标签UILabel添加长按复制功能
  5. Java中final、finally、finalize的区别
  6. linux (centos 6.4)安装自定义分区方案(转载)
  7. Iterator(迭代器)接口 --对象循环遍历
  8. javascript 中{}和[] 的理解
  9. C# 并行任务——Parallel类
  10. Android图表库MPAndroidChart(七)—饼状图可以再简单一点
  11. SpringBoot 集成数据库连接池Druid
  12. cf1144G 将串分解成单调递增和递减子串(贪心)
  13. HashMap与Hashtable
  14. 【Noip模拟 20161005】运货
  15. [Windows Azure] Enabling Diagnostics in Windows Azure
  16. iOS 代码片段的添加!
  17. 正则表达式入门之学习路线&七个问题
  18. Unity3D项目之 Survival Shooter 记录
  19. 初步学习pg_control文件之十四
  20. 几种不同的json格式解析

热门文章

  1. uoj207共价大爷游长沙
  2. jq:jQuery库文件jquery.scrollLoading.js使用方法
  3. 简单记录下HTTPS中的SSL
  4. F. Clique in the Divisibility Graph DP
  5. B - Median Pyramid Easy 构造题
  6. sql、linq和lambda查询语句比较inner join和group by组合使用及匿名类型的处理
  7. Java基础(变量、运算符)
  8. Android 适配底部返回键等虚拟键盘的完美解决方案
  9. C语言的time函数和localtime函数
  10. sqlserver创建触发器