一、ORM框架的理解

  1. 什么是ORM?

对象-关系映射(Object-Relational Mapping,简称ORM),面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,对象-关系映射(ORM)系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。

2.为什么使用ORM?

当我们实现一个应用程序时(不使用O/R Mapping),我们可能会写特别多数据访问层的代码,从数据库保存、删除、读取对象信息,而这些代码都是重复的。而使用ORM则会大大减少重复性代码。对象关系映射(Object Relational Mapping,简称ORM),主要实现程序对象到关系数据库数据的映射。

3. ORM的优缺点:

优点:
1)ORM是对JDBC的封装,从而解决了JDBC的各种存在问题,提高效率
2)使开发更加对象化
3)可移植
4)可以很方便地引入数据缓存之类的附加功能
缺点:
1)自动化进行关系数据库的映射需要消耗少量系统性能。
2)在处理多表联查、where条件复杂之类的查询时,ORM的语法会变得复杂。3)实体关系有1对1、1对多、多对1、多对多、级联等,JDBC编程时需要小心保持维持这些关系

4.实现ORM的框架:

1)EJB:重量级、高花费的ORM技术,支持JPA,尤其是EJB3低侵入式 的设·计,增加了Annotation

2)Hibernate:开源,支持JPA ,被选作JBoss的持久层解决方案

3)iBatis:”SQL Mapping”框架,Apache软件基金组织的子项目,后 转Google Code旗下,ibatis3.x正式更名为Mybatis

4)Spring Data JPA:Spring框架中的子模块

5)TopLink:Oracle公司的产品

6)Open JPA:Apache软件基金组织的开源项目

5.JPA.ORM.与Hibernate/EJB/Mybaits等框架关系:

OMC架构图_关系数据库