《Hibernate:对象关系映射与实践ORM》 Hibernate是由Gavin King创建的一种强大的持久化框架,它提供了对象关系映射(Object/Relational Mapping,ORM)解决方案,将Java对象模型与数据库关系模型相结合,简化了Java开发中的数据访问操作。在Gavin King的这份PPT中,他详细阐述了Hibernate的核心特性以及为什么选择ORM作为数据库访问策略。 1. 透明持久化:Hibernate允许开发者以普通Java对象(POJO/JavaBeans)的方式进行编程,无需关注底层的持久化细节,使得对象实例可以直接转换为数据库记录。 2. 持久态/瞬态实例:Hibernate区分了对象的持久态和瞬态状态,自动管理对象的生命周期。 3. 自动脏检查:当对象属性发生变化时,Hibernate会自动检测并更新相关的数据库记录。 4. 传递性持久化:通过关联映射,Hibernate可以将一个对象的所有关联对象一并持久化,无需额外代码。 5. 懒加载:对于大对象或不常使用的数据,Hibernate支持懒加载,只在真正需要时才从数据库加载,减少不必要的网络传输。 6. 外连接加载:提高查询效率,通过外连接一次性获取关联数据。 7. 动态SQL生成:根据对象的映射信息,Hibernate能自动生成合适的SQL语句,适应不同的数据库平台。 8. 继承映射策略:Hibernate提供了三种基本的继承映射策略,以满足不同类型的类继承结构。 选择ORM的原因包括: - 提供自然的编程模型,使得代码更易读、易写。 - 减少代码量,提高开发效率。 - 代码可以在无容器环境下运行和测试,增加了代码的可复用性。 - 通过智能的获取策略,减少数据库访问次数,提高性能。 - 支持缓存策略,进一步优化性能。 - 结构化映射更健壮,当对象/数据模型变化时,改动较小。 尽管关系型数据库在处理大量数据、搜索排序、集合操作等方面表现出色,但在建模、多态性、细粒度模型和业务逻辑方面存在不足。而Hibernate的目标正是利用数据库的优势,同时保持面向对象的编程风格。 实际目标是通过ORM减少开发工作量,让数据库管理员(DBA)更加满意。Hibernate作为开源项目,采用LGPL许可,具有成熟稳定的特点,广受开发者欢迎,每月下载量高达13000次,并成为JBoss CMP 2.0引擎的核心部分。 Hibernate支持JavaBean的持久化,可以处理非常细粒度、类型丰富的对象模型,提供强大的查询功能,并且支持已持久化的对象在脱离数据库连接后仍能继续使用(即断开连接的持久化对象)。 在拍卖系统这样的应用场景中,Hibernate可以方便地将拍卖对象模型映射到数据库,如持久化类通常需要有默认构造函数、getter/setter方法,集合属性定义为接口类型,标识符用于唯一标识对象等。通过这些特性,开发者可以专注于业务逻辑,而无需过多关注数据访问的底层实现。
- 粉丝: 1
- 资源: 7
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 5G模组升级刷模块救砖以及5G模组资料路由器固件
- C183579-123578-c1235789.jpg
- Qt5.14 绘画板 Qt Creator C++项目
- python实现Excel表格合并
- Java实现读取Excel批量发送邮件.zip
- 【java毕业设计】商城后台管理系统源码(springboot+vue+mysql+说明文档).zip
- 【java毕业设计】开发停车位管理系统(调用百度地图API)源码(springboot+vue+mysql+说明文档).zip
- 星耀软件库(升级版).apk.1
- 基于Django后端和Vue前端的多语言购物车项目设计源码
- 基于Python与Vue的浮光在线教育平台源码设计