做开发这一行这么多年,Java开发也十多年了,我一直不大喜欢ORM这个东西,我觉得这个东西实际上是对思路的一种误导,这也和常见ORM的做法有关。
我做系统设计时,一般都是先不设计数据库,或是把数据库设计尽可能后延,先把系统业务逻辑中,各种对象的业务关系,使用UML、流程图或伪码、代码的方式来描述,来评审,而其中数据存取部分都是伪实现和伪设计,在设计期间,只要描述说,可以将业务对象保存起来,可以将某个业务对象取出来就可以。这样,完全抛开了数据库对业务设计的干扰。
在我系统设计的观念里,没有所谓“实体对象”和“控制对象”这个词,只有“业务对象”,后期实现业务对象的持久化,我基本上都完全推到实现和编码阶段。我的看法,在早期的设计阶段,必须完全以业务对象和业务逻辑为主,不应该分心去想别的。所谓“实体对象”和“控制对象”对业务是无意义的。
在JDon上看到一个经典的说法:
事实上,在数据的访问上,我们需要的,仅仅是一个小小的库, 帮助我们完成连接的管理和结果集数据的自动提取而已。
当然,更为严重的是那句“ORM已死”,呵呵,我倒没有想ORM是否死了,我只是简单的认为,ORM根本就是系统中的一个小工具层,不应当称为“框架”。我们更不能让这些东西干扰我们的设计。设计以体现业务的过程为主。
相关推荐
Java面试题55.ORM是什么?ORM框架是什么?.mp4
java面试宝典
HSWeb-Easy-ORM 是一个开源的简单对象关系映射(ORM)工具,设计初衷是为了简化动态表单的处理。ORM 工具的核心作用在于桥接数据库与编程语言,允许开发者通过面向对象的方式操作数据库,避免了直接编写 SQL 语句的...
标题中的"cpp-SQLiteORM用于现代C++的SQLite ORM库只有header"表明这是一个关于C++的SQLite对象关系映射(ORM)库,且该库仅包含头文件,这意味着开发者无需链接任何库文件,只需包含相应的头文件即可使用。ORM是一...
ORM,全称Object-Relational Mapping,即对象关系映射,是一种编程技术,用于将关系数据库的数据模型映射到面向对象的软件应用中。在Java领域,Hibernate和MyBatis是两种广泛应用的ORM框架,它们极大地简化了数据库...
对于初次使用K-ORM的开发者来说,这份文档是必不可少的参考资料。 总的来说,K-ORM作为一款自定义的ORM工具,利用JDBC提供数据库连接和SQL执行的能力,结合Java反射机制实现对象与数据库之间的映射。它简化了数据库...
SQLite3的ORM(Object-Relational Mapping)框架是一种在C++编程中将数据库关系模型与对象模型进行对应的技术。ORM框架使得开发者可以使用面向对象的方式来操作数据库,避免了直接编写SQL语句,提高了开发效率和代码...
对象关系映射(ORM) 对象关系映射(ORM)是一种概念性的、易于理解的模型化数据的方法,基于三个核心原则:简单、传达性、精确性。ORM 方法论提供了概念性的模型化数据的方法,基于数据模型创建正确标准化了的结构...
Moon.Orm是一个专门为.NET开发者设计的轻量级ORM(对象关系映射)框架,它具有强大的功能和良好的可扩展性,能够支持多种不同的数据库系统,包括但不限于MySQL、SQL Server、Oracle、SQLite等。ORM框架的主要目标是...
ORM(Object-Relational Mapping,对象关系映射)是软件开发中的一个重要概念,它提供了一种在关系数据库和面向对象编程之间架起桥梁的方法。通过ORM技术,开发者可以使用面向对象的方式来操作数据库,而无需直接编写...
对象关系映射(ORM,Object-Relational Mapping)是一种编程技术,它旨在解决面向对象编程语言与关系数据库管理系统之间的不匹配问题。ORM 提供了一种方式,使得开发者可以用面向对象的方式来处理数据库,而无需直接...
在《采用ORM技术的软件开发方法研究》这篇文档中,可能详细探讨了如何在实际项目中引入和利用ORM技术,包括如何配置ORM框架、设计合理的映射关系、优化ORM的性能等方面。通过阅读这篇文档,开发者可以深入理解ORM在...
ORM(Object-Relational Mapping,对象关系映射)框架是一种技术,它允许程序员使用面向对象的方式来操作数据库,而无需关心底层的SQL语句。在Java、C#等编程语言中,ORM框架广泛应用,极大地简化了数据库操作,提高...
eform集成开发手册是开发者不可或缺的指南,涵盖了eform集成开发的各个方面,包括系统文件说明、系统表结构说明、eform for .net 和eform for java 的使用等。通过阅读本手册,开发者可以快速了解eform的集成开发...
在这些ORM框架中,"源码"标签可能意味着博客会深入到ORM的内部实现,探讨如何阅读和理解ORM的代码,这对于想要自定义或优化ORM行为的开发者非常有用。而"工具"标签可能涵盖了如何集成和使用这些ORM工具到项目中的...
**安装说明**:`eform安装说明.txt`文件提供了详细的安装指南,这对于首次使用eform的开发者来说是必不可少的。它通常会涵盖系统需求、环境配置、安装步骤以及可能出现的问题和解决方法。遵循这些说明,开发者可以...
使用运算符重载,实现 ORM 框架里的 INSERT、UPDATE、DELETE 和 SELECT 语句动态生成。SELECT 语句支持 INNER JOIN、LEFT OUTER JOIN 和RIGHT OUTER JOIN 多表联合查询,但不支持同一表的联合查询。 代码中只实现了 ...
【标题】:“手写ORM”指的是自己动手实现Object-Relational Mapping(对象关系映射)技术,这是一种在软件开发中将数据库操作与业务逻辑解耦的方法。ORM允许开发者使用面向对象的方式来操作数据库,无需关心底层SQL...
Sqlite ORM 是一个简单的C#类,对Sqlite的操作进行了封装,主要功能包括:表定义、生成,访问,更新等,其中,支持,多表的连接操作,语法类似Linq语法,使用非常方便,附加了使用说明文档。 例如,添加记录操作为...
这篇内容主要以.NET ORM代码示例为切入点,讲解如何在.NET环境中使用ORM进行数据库交互。DLite可能是指一个特定的.NET ORM库,或者是自定义的一个轻量级ORM实现。在.NET中,有多个流行的ORM框架,如Entity Framework...