ORM概况了解

来源:互联网 发布:数据挖掘学习 编辑:程序博客网 时间:2024/06/05 00:15

1.1 ORM简介


        对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。

        作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法。

        面向对象是从软件工程基本原则(如耦合、聚合、封装)的基础上发展起来的,而关系数据库则是从数学理论发展而来的,两套理论存在显著的区别。为了解决这个不匹配的现象,对象关系映射技术应运而生。


1.2 ORM与DB Helper Library


        许多Helper提供了很多的强大的功能,封闭交互底层,实体类支持,提供SQL翻译功能。ORM比之这些Helper只是多提供了一层,他尝试封闭的自动化的(或是映射文件)来实现关联。以前,这都是我们手打的。ORM试图取代helper,为此提供了更多的功能。


1.3 优缺点


1.3.1 优点:


       1.抛弃了传统的面向过程的方法,远离数据库和SQL,使开发更多的面向业务领域;

       2.ORM实现的系统,具有很强的可维护性,很快满足用户需求的变更;

       3.ORM使我们摆脱了SQL,但并不代表我们不再使用SQL,事实上,复杂的查询和报表我仍然推荐使用SQL,良好的系统应该可以兼容以前的方式;

       4.ORM更适合复杂的系统(这里使用复杂,而不是大型),而不是小的系统,因为这样的系统要求建造速度快,系统稳定,他们的业务规则异常的复杂,但他们对系统的性能要求并不是很高(相对电信这样的性能要求)。


1.3.2 缺点:


      1.性能问题,带来大约20%的性能损失(ORM无法解决每个对象实例在构造时分配内存所耗的时间);现在的各种ORM框架都在尝试使用各种方法来减轻这块(LazyLoad,Cache),效果还是很显著的。

      2.项目初期,需要写的代码比常规的要多很多,而且有些代码不一定马上就用;


1.4 ORM框架


       只要提供了持久化类与表的映射关系,ORM框架在运行时就能参照映射文件的信息,把对象持久化到数据库中。当前ORM框架主要有三种:Hibernate(Nhibernate),iBATIS,EclipseLink。

       设计思路其实很简单,和其余的ORM框架一样。通过某种关系来维持实体对象和数据库之间的关系,然后通过实体对象的操作来实现数据库的操作。


1.5 ORM一般包括四部分


1.5.1 第一部分

 

       一个对持久类对象进行CRUD操作的API;

      

JPA

EntityManager

(由EntityManagerFactory创建)

Hibernate

Session

(由SessionFactory创建)



1.5.2 第二部分

 

       一个语言或API用来规定与类和类属性相关的查询;

JPA

JPQL语言 (Query接口)

Hibernate

HQL语言  (Query接口)


1.5.3 第三部分


        一个规定MAPPING METADATA的工具;

JPA

用注解

Hibernate

*.hbm.xml


1.5.4 第四部分

 

      一种技术可以让ORM的实现同事务对象一起进行DIRTYCHECKING,LAZY ASSOCIATION FETCHING以及其他的优化操作。

JPA

 JpaTransactionManager

Hibernate

Transaction


 

0 0
原创粉丝点击