Hibernate与iBatis技术选型
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3 简单易用,集成方便 在JPA框架下创建实体和创建Java 类一样简单,没有任何
的约束和限制,只需要使用 javax.persistence.Entity进行注释; JPA的框架和接口也都非常简单,开发者可以很容易的掌握。 4 可媲美JDBC的查询能力
JPA的查询语言是面向对象而非面向数据库的,它以面向对象 的自然语法构造查询语句。
Hibernate 与iBatis比较
功能需求 JPA 缓存 存储过程 灵活性 学习程度 自动化程度 运行效率
hibernate
满足 支持 一级缓存,二级缓存 支持 一般 难 高 使用二级缓存 ,效率高
iBatis
满足 不支持 一级缓存 支持 很灵活 容易 一般 高
Hibernate 与iBatis比较
Hibernate ----缓存管理
Hibernate 中提供了两级Cache,第一级别的缓存是Session级别的缓存,它是属 于事务范围的缓存。这一级别的缓存由hibernate管理的,一般情况下无需进行干预; 第二级别的缓存是SessionFactory级别的缓存,它是属于进程范围或群集范围的缓存 。这一级别的缓存可以进行配置和更改,并且可以动态加载和卸载。 Hibernate还为查 询结果提供了一个查询缓存,它依赖于第二级缓存。
iBatis
相对于hibernate “一站式”ORM解决方案,而ibatis是一 种“半自动化”的ORM实现。
“全自动”ORM 实现了 POJO 和数据库表之间的映射,以 及 SQL 的自动 生成和执行。而ibatis 的着力点,则在于POJO 与 SQL之间的映射关系。也就是说,ibatis 并不会为程序员在 运行期自动生成 SQL 执行。具体的 SQL 需要程序员编写,然 后通过映 射配置文件,将SQL所需的参数,以及返回的结果字 段映射到指定 POJO。
Hibernate与iBatis技术选型
目录
关键词 JPA O/R Mapping POJO 缓存
Hibernate iBatis Hibernate 与iBatis比较 结论
关键词 ------JPA
JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述 对象-关系表的映射关系,并将运行期的实体对象持久化到数据库 中。目前Hibernate 3.2、TopLink 10.1.3以及OpenJPA都提供了JPA的实 现。 JPA有如下特点: 1.标准化 JPA 是 JCP 组织发布的 Java EE 标准之一,任何声称符合 JPA 标准的框架都遵循同样的架构,提供相同的访问 API,能够保 证基于JPA开发的企业应用能够经过少量的修改就能够在不同的 JPA框架下运行。 2.对容器级特性的支持 JPA 框架中支持大数据集、事务、并发等容器级事务。
5 支持面向对象的高级特性 JPA 中能够支持面向对象的高级特性,如类之间的继承、多
态和类之间的复杂关系。
关键词----O/R Mapping
O/R Mapping
对象关系映射(Object Relational Mapping,简称ORM)是一种为了解 决面向对象与关系数据库存在的互不匹配的现象的技术。 是通过使用描述对 象和数据库之间映射的元数据,将java程序中的对象自动持久化到关系数据 库中。
关键词----POJO
POJO(Plain Old Java Objects)简单的Java对象,实际就是普通JavaBeans。POJO 类里面方法是不参杂任何业务逻辑的,仅仅是业务逻辑的辅助类。
关键词 ----缓存
缓存是介于应用程序和物理数据源之间,其作用是为了降低应用程序对物理数据源访 问的频次,从而提高了应用的运行性能。缓存内的数据是对物理数据源中的数据的复 制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据 源的数据。 缓存的介质一般是内存,所以读写速度很快。但如果缓存中存放的数据量 非常大时,也会用硬盘作为缓存介质。
iBatis
存储 JPA
缓存
ห้องสมุดไป่ตู้灵活性
Hibernate
学习简易程度
自动化程度
结论
结论
由于JPA是Hibernate的子集,那么使用Hibernate所做的持 久化便于数据库之间的移植和程序的复用,同时Hibernate二级缓 存的使用对于运行效率来讲是个很大的提高。因此, 采用 Hibernate 做持久化。
面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关 系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关 系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据 库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库 中,关系数据无法直接表达多对多关联和继承关系。因此,对象-关系映射 (ORM)系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据 的映射。
Hibernate
Hibernate Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级
的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可 以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的 J2EE架构中取代CMP,完成数据持久化。Hibernate 从3.2开始,就开始兼容JPA。 Hibernate3.2获得了Sun TCK的JPA(Java Persistence API) 兼容认证。