Java_Web三大框架之Hibernate 入门(一)
2024-10-01 01:09:24
一、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的缓存中
最新文章
- 回发或回调参数无效。在配置中使用 pages enableEventValidation=true 或在页面中使用 %@ Page EnableEventValidation=true % 启用了事件验证
- 关于APP程序员泡沫经济
- 使用vs2010创建、发布、部署、调用 WebService
- php数组函数,字符串,linux命令
- KD-tree
- 安装elasticsearch
- SQL[连载3]sql的一些高级用法
- 斐讯K2 V22.X.X.X 新版固件 刷机教程 (开telnet,安装SSH,adbyby,刷breed,华硕Padavan)
- JS常用特效方法总结
- ABP官方文档翻译 6.6 Javascript API
- 基于OpenCV 的美颜相机推送直播流
- 9.2.1、Libgdx的输入处理之轮询
- Eclipse中STM32工程建立步骤
- Could not read document: Can not deserialize instance of java.lang.String out of START_ARRAY
- 使用moment.js结合filter过滤器格式化时间
- [译] OpenStack Ocata 版本中的 53 个新功能盘点
- WebUploader 手机端上传图片(转)
- TensorFlow的梯度裁剪
- vuessr nuxt入门指南
- MNIST机器学习入门【学习笔记】
热门文章
- 对象和变量的并发访问synchronized解析以及死锁分析排查
- How can I add files to a Jar file? (or add a file to a zip archive)
- Solidworks如何修改单位
- Ajax异步方式实现登录与參数的校验
- 在Tomcat服务器中去端口访问域名
- Socket 长连接 短连接 心跳 JAVA SOCKET编程
- starUML 2.5.1 for mac
- DM8168 dead JTAG clock
- 解析java中volatilekeyword
- Generic Interfaces (C# Programming Guide)