ORM是什么?

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

ORM方法论基于三个核心原则: 简单:以最基本的形式建模数据。 传达性:数据库结构被任何人都能理解的语言文档化。 精确性:基于数据模型创建正确标准化了的结构。

一般的ORM包括以下四部分:

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

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

一个规定mapping metadata的工具;

一种技术可以让ORM的实现同事务对象一起进行dirty checking, lazy association fetching以及其他的优化操作。

产品

Java系列:

Apache OJB ()Cayenne ()Jaxor ()Hibernate ()iBatis ()jRelationalFramework ()mirage ()SMYLE ()TopLink ()

其中 TopLink 是 Oracle 的商业产品,其他均为开源项目。

其中 Hibernate[1]的轻量级 ORM 模型逐步确立了在 Java ORM 架构中领导地位,甚至取代复杂而又繁琐的 EJB 模型而成为事实上的 Java ORM 工业标准。而且其中的许多设计均被 J2EE 标准组织吸纳而成为最新 EJB 3.0 规范的标准,这也是开源项目影响工业领域标准的有力见证。

  .Net系列:

EntitysCodeGenerate, LINQ TO SQL, Grove, Rungoo.EnterpriseORM,FireCode Creator,MyGeneration,CodeSmith Pro,CodeAuto ...

引入一个O/R Mapping。实质上,一个O/R Mapping会为你生成DAL。与其自己写DAL代码,不如用O/R Mapping。你用O/R Mapping保存,删除,读取对象,O/R Mapping负责生成SQL,你只需要关心对象就好。

学习自:http://baike.baidu.com/link?url=K2io0wSZuezbekq8J-tyLhcf6o6GpqcAprxhHvRZgrp8z8UpJpyNzptoHOea3gbH

原文地址:https://www.cnblogs.com/paulhe/p/3395035.html