一、Hibernate简介:

Hibernate作者——Gavin King
Hibernate创始人
《 Hibernate in action 》作者
EJB 3.0的Entity bean specification的实际领导人(sun任命的领导人是Linda DeMichiel)
参加了XDoclet和Middlegen的开发
2003年9月加入JBoss,全职进行Hibernate开发
 
二、Hibernate
1、一个开发源代码的对象关系映射框架
2、对JDBC进行了非常轻量级的对象封装
3、将JavaBean对象和数据库的表建立对应关系
 
三、Hibernate优势
1、Hibernate 是一个优秀的Java 持久化层解决方案
2、是当今主流的对象—关系映射工具
3、Hibernate 简化了JDBC 繁琐的编码
Session session = HiberanteUtil.getSession();
Query query = session.createQuery("from User");
List<User> users =(List<User>)query.list();

注:JDBC的缺点:

(1)、开发效率低
(2)、代码冗余
     pstmt的setXX方法
     方法参数冗余的getXX方法
(3)、如果POJO的属性很多,代码增加
(4)、重复性工作多
4、Hibernate 将数据库的连接信息都存放在配置文件中
 
四、持久化与ORM3-2
1、持久化层:
JDBC 就是一种持久化机制。
将程序数据直接保存成文本文件也是持久化机制的一种实现。
在分层结构中,DAO 层(数据访问层)也被称为持久化层。
2、持久化完成的操作:
将对象保存到关系型数据库中。
将关系型数据库中的数据读取出来, 以对象的形式封装。
 
五、ORM(Object Relational Mapping,对象关系映射)
1、编写程序的时候,以面向对象的方式处理数据
2、保存数据的时候,却以关系型数据库的方式存储
ORM解决方案包含下面四个部分:
1、在持久化对象上执行基本增、删、改、查操作的API
2、用于对持久化对象或属性查询的一种语言或者API
3、用于实体关系映射的工具
4、能够与事务对象交互、执行检查、延迟加载以及其他优化功能
 
六、Hibernate中实体对象的三种状态
实体对象的生命周期是Hibernate 应用中的一个关键概念
 
实体对象的三种状态:
1、瞬时状态(Transient)
刚用new语句创建,还没有被持久化,且不处于Session的缓存中
2、持久状态(Persistent)
已经被持久化,且加入到Session的缓存中
3、游离状态(Detached)
已经被持久化,但不再处于Session的缓存中

最新文章

  1. 回发或回调参数无效。在配置中使用 pages enableEventValidation=true 或在页面中使用 %@ Page EnableEventValidation=true % 启用了事件验证
  2. 关于APP程序员泡沫经济
  3. 使用vs2010创建、发布、部署、调用 WebService
  4. php数组函数,字符串,linux命令
  5. KD-tree
  6. 安装elasticsearch
  7. SQL[连载3]sql的一些高级用法
  8. 斐讯K2 V22.X.X.X 新版固件 刷机教程 (开telnet,安装SSH,adbyby,刷breed,华硕Padavan)
  9. JS常用特效方法总结
  10. ABP官方文档翻译 6.6 Javascript API
  11. 基于OpenCV 的美颜相机推送直播流
  12. 9.2.1、Libgdx的输入处理之轮询
  13. Eclipse中STM32工程建立步骤
  14. Could not read document: Can not deserialize instance of java.lang.String out of START_ARRAY
  15. 使用moment.js结合filter过滤器格式化时间
  16. [译] OpenStack Ocata 版本中的 53 个新功能盘点
  17. WebUploader 手机端上传图片(转)
  18. TensorFlow的梯度裁剪
  19. vuessr nuxt入门指南
  20. MNIST机器学习入门【学习笔记】

热门文章

  1. 对象和变量的并发访问synchronized解析以及死锁分析排查
  2. How can I add files to a Jar file? (or add a file to a zip archive)
  3. Solidworks如何修改单位
  4. Ajax异步方式实现登录与參数的校验
  5. 在Tomcat服务器中去端口访问域名
  6. Socket 长连接 短连接 心跳 JAVA SOCKET编程
  7. starUML 2.5.1 for mac
  8. DM8168 dead JTAG clock
  9. 解析java中volatilekeyword
  10. Generic Interfaces (C# Programming Guide)