当前位置: 首页 > news >正文

网站建设 百度百科网站 建设设计方案

网站建设 百度百科,网站 建设设计方案,门户网站开发工具软件,手机网站登录模板对象关系映射#xff08;Object Relational Mapping#xff0c;简称ORM#xff09;是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 简单的说#xff0c;ORM是通过使用描述对象和数据库之间映射的元数据#xff0c;将java程序中的对象自动持久化到关系数…对象关系映射Object Relational Mapping简称ORM是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 简单的说ORM是通过使用描述对象和数据库之间映射的元数据将java程序中的对象自动持久化到关系数据库中。本质上就是将数据从一种形式转换到另外一种形式。 这也同时暗示者额外的执行开销然而如果ORM作为一种中间件实现则会有很多机会做优化而这些在手写的持久层并不存在。 更重要的是用于控制转换的元数据需要提供和管理但是同样这些花费要比维护手写的方案要少而且就算是遵守ODMG规范的对象数据库依然需要类级别的元数据。       对象-关系映射Object/Relation Mapping简称ORM是随着面向对象的软件开发方法发展而产生的。面向对象的开发方法是当今企业级应用开发环境中的主流开发方法关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务实体的两种表现形式业务实体在内存中表现为对象在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系而在数据库中关系数据无法直接表达多对多关联和继承关系。因此对象-关系映射(ORM)系统一般以中间件的形式存在主要实现程序对象到关系数据库数据的映射。       面向对象是从软件工程基本原则(如耦合、聚合、封装)的基础上发展起来的而关系数据库则是从数学理论发展而来的两套理论存在显著的区别。为了解决这个不匹配的现象,对象关系映射技术应运而生。       让我们从O/R开始。字母O起源于对象(Object),而R则来自于关系(Relational)。几乎所有的程序里面都存在对象和关系数据库。在业务逻辑层和用户界面层中我们是面向对象的。当对象信息发生变化的时候我们需要把对象的信息保存在关系数据库中。       当你开发一个应用程序的时候(不使用O/R Mapping),你可能会写不少数据访问层的代码用来从数据库保存删除读取对象信息等等。你在DAL中写了很多的方法来读取对象数据改变状态对象等等任务。而这些代码写起来总是重复的。   如果打开你最近的程序看看DAL代码你肯定会看到很多近似的通用的模式。我们以保存对象的方法为例你传入一个对象为SqlCommand对象添加SqlParameter把所有属性和对象对应设置SqlCommand的CommandText属性为存储过程然后运行SqlCommand。对于每个对象都要重复的写这些代码。   除此之外还有更好的办法吗有引入一个O/R Mapping。实质上一个O/R Mapping会为你生成DAL。与其自己写DAL代码不如用O/R Mapping。你用O/R Mapping保存删除读取对象O/R Mapping负责生成SQL你只需要关心对象就好。       对象关系映射成功运用在不同的面向对象持久层产品中如:Torque,OJB,Hibernate,TopLink,Castor JDO, TJDO 等。       一般的ORM包括以下四部分       一个对持久类对象进行CRUD操作的API       一个语言或API用来规定与类和类属性相关的查询       一个规定mapping metadata的工具       一种技术可以让ORM的实现同事务对象一起进行dirty checking, lazy association fetching以及其他的优化操作。 一、目前流行的 ORM 产品       目前众多厂商和开源社区都提供了持久层框架的实现常见的有       Apache OJB http://db.apache.org/ojb/       Cayenne http://objectstyle.org/cayenne/       Jaxor http://jaxor.sourceforge.net       Hibernate http://www.hibernate.org       iBatis http://www.ibatis.com       jRelationalFramework http://ijf.sourceforge.net       mirage http://itor.cq2.org/en/oss/mirage/toon       SMYLE http://www.drjava.de/smyle       TopLink http://otn.oracle.com/products/ias/toplink/index.html       其中 TopLink 是 Oracle 的商业产品其他均为开源项目。       其中 Hibernate 的轻量级 ORM 模型逐步确立了在 Java ORM 架构中领导地位甚至取代复杂而又繁琐的 EJB 模型而成为事实上的 Java ORM 工业标准。而且其中的许多设计均被 J2EE 标准组织吸纳而成为最新 EJB 3.0 规范的标准这也是开源项目影响工业领域标准的有力见证。 二、对象关系映射模式       从《公共仓库元模型开发指南》一书第8章CWM元仓库中摘录出来的内容实现了公共仓库元模型(CWM)的UML图到Microsoft SQL Server数据库的映射是一种将对象层次结构映射成关系型结构的方法。个人认为可以作为将本体(Ontology)文件存储到关系型数据库中的一种可借鉴方法。       基本情况公共仓库元模型(CWM)是对象管理组织(OMG)的一种和数据仓库相关的元模型标准采用UML表示的对象层次结构在保存到数据库中时由于面向对象的数据库技术的不完善(理论研究和商业应用都不是主流)所以该书的作者倾向于使用成熟的关系型数据库来保存这也是存储本体时所遇到的问题。       采用方法将UML模型中的各种元素通过转换保存为数据库模式。由于CWM是一种元模型因此模型的实例也是一种模型将这种实例以数据库数据的形式保存。使用数据库中比较成熟的存储过程技术提高开发和执行效率。       1、数据类型映射模式       1.1简单数据类型模式建立UML和关系型数据库中简单数据类型的映射表以指导映射。      1.2枚举数据类型模式每种枚举类型对应一个表只有一个列(_EnumLiteral)表示枚举值。      1.3基于类的数据类型模式使用外键约束将基础列与基于类的类型实例相关联。       2、类映射模型       每个类对应一个表。单值属性、多值属性、继承关系可以用下述方法映射而引用属性将在关联映射模式中提到。       2.1单值属性模式是cardinality的上界为1的属性映射到类所对应的表的列上。若其下界也为1必须有的属性列属性为NOT NULL。      2.2多值属性模式每个多值属性映射成一个独立的表使用外键连接到类所对应的表上。      2.3继承模式每加入一个类的实例时根据其继承关系自顶向下生成每个类的对象这些对象具有相同的ID根对象对应记录的主键。删除对象实例时自底向上删除数据。遇到从中间删的情况怎么办多重继承怎么处理金龙飞       3、关联映射模式       3.1一对一关联模式在关联两端各加一列。      3.2一对多关联模式和3.1一样。如果多这端是有序的还需加入一列表示序号。      3.3多对多关联模式将关联单独作一个表。      3.4组合关联模式注意级联式删除。      3.5反演关联模式关联两端指向相关的类型和普通关联一样。      3.6成对关联模式关联记录两个类间的关系用交集类表示关联表示成一个单独的表每个关联对应一个表用外键表示它们间的关系。      3.7关联上的OCL需要分析成对应的存储过程代码。      3.8保证关联的cardinality也需要分析成对应的存储过程代码。       4、引用映射模式        在UML中不存在的MOF特征指属性是声明为引用类型的实例。用存储过程实现。 转载于:https://www.cnblogs.com/kingboy2008/archive/2011/06/20/2085480.html
http://www.pierceye.com/news/302270/

相关文章:

  • 怎么查询菠菜网站做没作弊沙朗做网站公司
  • 网站的建设周期与阶段广州王牌seo
  • 连江建设局网站手机网站建设套餐内容
  • 收录网站排名wordpress 搜索过滤
  • 上海网站建设代码长春又出现一例
  • 国外包装设计欣赏网站wordpress4.9.4环境要求
  • 免费域名网站查询好的营销网站设计公司
  • 网站说服力在百度上怎么建立网站
  • 医疗网站模板下载qq音乐的网站建设信息
  • 商务网站开发的的基本流程网站 设计 趋势
  • php mysql网站开发实例卖货平台排名前十
  • 房地产管理局网站建设银行北京市分行网站
  • 无锡哪家网站做的好黄骅市人事考试网
  • 芜湖seo网站优化淘宝官网首页手机版
  • 用付费网站做推广ui网站一般建好大
  • 四川建设行业网站有哪些最新体育新闻头条
  • 湘潭网站优化公司wordpress会员积分邀请
  • 腾讯网静态网站建设西宁网站建设公司排行
  • pc网站优势买完网站怎么建设
  • 网站设计与制作用什么软件外包加工网官网下载安装
  • 商城网站设计企业建一个o2o网站
  • 营销型网站创建php源码资源网
  • 优秀设计师网站在上海做兼职去哪个网站搜索
  • 教育行业网站建设房屋3d立体设计软件
  • 海珠免费网站建设php网站系统
  • 建设银行网站信息补充施工企业奖惩制度范本
  • 做拍卖网站多少钱办公室装修铺哪种地板
  • 国外网站有哪些平台网站系统建设需要什么资质
  • 做网站 就上凡科网做盗版网站会坐牢吗
  • 百事通网做网站做网站公众号多少钱