`
helloworld
  • 浏览: 16955 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

ORM到底是O->R 还是 R->O

阅读更多
这个问题其实本来无所谓,考虑一下也不浪费太多时间。

先考虑一个只有一个模块的系统,这样可以屏蔽很多干扰,假设这是一个库存管理模块,显而易见有两个核心实体:品种及库存,再考虑品种的设计,我们又可以得出分类这样一个字典表。在这个分析过程中,实体是表还是对象因人而异。我属于那种后来学习直拍反打的选手,因此习惯上直接把实体建成了数据库表。但对于类似王皓这样的不会推挡只会反打的选手,那就一定是对象了。
从O->R有一些好处就是在分析设计的时候有了更细腻的方法(直拍反打称为手法)对设计进行细嚼慢咽,但是同时也消耗了更多的时间。
从R->O的好处是你直接与数据库进行了对话,因此你了解它的实际构造。在需要的时候将R变为O来操作,你仍然可以使用你所熟悉的SQL对数据库进行直接了当的操作。

再考虑有多个模块的系统,假设系统的模块已经划分妥当(不在本文讨论范围之内),从O出发的选手有很多的方法和理论来实现模块之间的松耦合。而从R出发的选手则只有一个方法,即为两个模块建立R,而这个R最好只建立在一张表上。


因此,考虑到OODB的局限性,如果你是老选手,你仍然具有优势,但这个优势能保持多久则很难讲。
分享到:
评论

相关推荐

    用于访问WMI的Light-ORM-C#-下载

    ORMi(发音为“ ormee ”)是一个非常简单的 Light-ORM,可以与 WMI(Windows Management Instrumentation)一起使用。它以非常简单的方式处理 WMI CRUD 操作。ORMi 会自动映射到模型类,因此您可以轻松地使用 WMI ...

    hibernate3入门

    -- 指定SQL方言,这里使用MySQL --> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <!-- JDBC驱动类 --> <property name="connection.driver_class">com.mysql.jdbc.Driver</property...

    Eclipse工具详解

    2. **数据源配置**:"Window" -> "Preferences" -> "Data Management" -> "Database Connections",添加新的数据源,填写数据库连接信息。 3. **创建数据库链接**:在项目中右键选择"New" -> "Other" -> "Data ...

    hibernate框架说明.txt

    JDBC的缺点: 1。JDBC本质:编写sql语句,发送到数据库中执行(sql) 在企业开发需要程序员转换编程的思想,从面向对象到sql。... O---M--->R 用面向对象的编程思想,操作关系型数据库。

    zucker-easy-orm:zucker-easy-orm

    ZuckerEasyORM可能提供了自动化的对象到关系(O/R)映射,减少手动转换的麻烦。 3. **事务管理**:为了确保数据的一致性,ZuckerEasyORM可能会提供事务管理功能,允许开发者在一个代码块中执行多个数据库操作,并在...

    O/R_Mapping思想

    O/R_Mapping思想与ADO.NET 基于.NET的Web应用框架的设计与实现 将对象映射到关系数据库——对象/关系映射(O/R_Mapping)详解 面向对象设计中的O/R映射架构

    Websharp2.0(2006-2-6) ORM

    2、 O/R 映射 3、 AOP 4、 分布式访问 WebSharp主要设计思路及涉及的技术: 在数据库访问部分,使用了ADO.Net和工厂模式;在ORM部分,使用了动态代码生成和即时编译,以及对DataSet进行了扩展;在AOP部分,使用了Proxy...

    ORMi:用于访问WMI的Light-ORM

    ORMi(发音为“ ormee ”)是与WMI(Windows Management Instrumentation)一起使用的非常简单的Light-ORM。 它以非常简单的方式处理WMI CRUD操作。 ORMi会自动映射到模型分类,因此您可以轻松使用WMI类,而不必...

    hibernate实战培训课程.ppt

    -- 数据库连接配置 --> <property name="connection.url">jdbc:sqlserver://localhost:1433;DatabaseName=train</property> <property name="connection.username">macro</property> ...

    Hibernate O R映射三大基本定则

    Hibernate ORM(对象关系映射)框架是Java开发者广泛使用的数据持久化工具,它允许程序员将Java对象模型与数据库关系模型进行映射,从而简化数据库操作。以下是对Hibernate ORM映射三大基本定则的详细解释: 1. **...

    Hibernate O/R Mapping 入门工程包

    总结来说,这个"Hibernate O/R Mapping 入门工程包"提供了从XML到Annotation的映射示例,以及简单的数据库操作实例,是学习和理解Hibernate ORM机制的良好起点。通过深入学习和实践,开发者可以更高效地在Java应用中...

    快速学习-Spring Data JPA 之 ORM概述

    第1章 ORM概述[了解] ...当实现一个应用程序时(不使用O/R Mapping),我们可能会写特别多数据访问层的代码,从数据库保存数据、修改数据、删除数据,而这些代码都是重复的。而使用ORM则会大大减少

    iBatis介绍及入门教程

    iBatis是一个轻量级的Java持久层框架,它提供了SQL映射功能,将对象关系映射(O/R Mapping)与数据库操作分离,使得开发者能够更灵活地控制SQL语句的编写。相比于Hibernate等更为复杂的ORM框架,iBatis以其小巧、...

    Hibernate 培训资料.pdf

    #### 五、ORM(O/R Mapping)映射配置 ORM(对象关系映射)是Hibernate的核心功能之一,它提供了将Java对象与数据库表之间的映射关系。通过XML映射文件或注解的方式,可以定义Java对象的属性与数据库表字段的对应...

    Java应用中使用Hibernate.pdf

    - **创建O/R映射文件**:`Customers.hbm.xml`是对象关系映射文件,它定义了`Customers`类与数据库表`CUSTOMERS`之间的映射关系,包括字段对应关系、主键生成策略等。 - **使用Hibernate API**:通过Hibernate的...

    .net ORM 代码生成器 v1.1

    系统实现了比较完整的O-R映射,数据库中的所有逻辑对象表,列,字段,主键,外键,Null,Default,唯一索引都在类里得到了体现,同时还支持代码表,代码列,自增长机制 系统支持完整的数据操作功能,支持带事务功能...

    O/RM自动生成工具

    2. **O/R Mapping**:对象关系映射,是ORM的核心概念。它通过定义规则将数据库表映射为类,表中的字段映射为类的属性,从而实现对象与数据库记录的对应。这样,开发者可以直接操作对象,而无需关心底层SQL语句的编写...

    ORM Profiler 1.1源码

    ORM Profiler is developed by Solutions Design bv, the people who created the much acclaimed O/R mapper LLBLGen Pro.

    orm获取关联表里的属性值

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

    android-orm:适用于 Android 的 ORM

    一个O bject [R elational中号为冲击片雷管Android平台。 为什么是芒果 ORM? Android 本身没有 ORM 支持。 3rd 方 ORM 库很少,但它们限制使用其库的 Base Entity 类扩展实体或通过其库的 ORM Activity 扩展 ...

Global site tag (gtag.js) - Google Analytics