做开发这一行这么多年,Java开发也十多年了,我一直不大喜欢ORM这个东西,我觉得这个东西实际上是对思路的一种误导,这也和常见ORM的做法有关。
我做系统设计时,一般都是先不设计数据库,或是把数据库设计尽可能后延,先把系统业务逻辑中,各种对象的业务关系,使用UML、流程图或伪码、代码的方式来描述,来评审,而其中数据存取部分都是伪实现和伪设计,在设计期间,只要描述说,可以将业务对象保存起来,可以将某个业务对象取出来就可以。这样,完全抛开了数据库对业务设计的干扰。
在我系统设计的观念里,没有所谓“实体对象”和“控制对象”这个词,只有“业务对象”,后期实现业务对象的持久化,我基本上都完全推到实现和编码阶段。我的看法,在早期的设计阶段,必须完全以业务对象和业务逻辑为主,不应该分心去想别的。所谓“实体对象”和“控制对象”对业务是无意义的。
在JDon上看到一个经典的说法:
事实上,在数据的访问上,我们需要的,仅仅是一个小小的库, 帮助我们完成连接的管理和结果集数据的自动提取而已。
当然,更为严重的是那句“ORM已死”,呵呵,我倒没有想ORM是否死了,我只是简单的认为,ORM根本就是系统中的一个小工具层,不应当称为“框架”。我们更不能让这些东西干扰我们的设计。设计以体现业务的过程为主。
相关推荐
Java面试题55.ORM是什么?ORM框架是什么?.mp4
java面试宝典
使用运算符重载,实现 ORM 框架里的 INSERT、UPDATE、DELETE 和 SELECT 语句动态生成。SELECT 语句支持 INNER JOIN、LEFT OUTER JOIN 和RIGHT OUTER JOIN 多表联合查询,但不支持同一表的联合查询。 代码中只实现了 ...
hsweb-easy-orm, 简单的orm工具,为动态表单而生
Sqlite ORM 是一个简单的C#类,对Sqlite的操作进行了封装,主要功能包括:表定义、生成,访问,更新等,其中,支持,多表的连接操作,语法类似Linq语法,使用非常方便,附加了使用说明文档。 例如,添加记录操作为...
这里面包括了Hibernate和MyBatis的实现ORM思想的原理,以及讲解了什么是ORM思想。仿照Hibernate自定义了一个简单的增删改查的ORM框架,还有测试代码。
能实现基本的数据库操作能实现基本的数据库操作
orm4es是一个Elasticsearch的ORM工具,它可以生成简单的查询对象.它本身非常简单,也很容易使用;代码生成通过freemark完成,它会自动解析es index 的mapping设置,根据mapping生成与index对应的java Bean,使用生成...
注:内含Demo必须的《实体生成工具》,要使用Doc.ORM的功能必须用这个工具来生成实体。 Doc.ORM特点: 1)上手简单,0学习成本。使用方便,按照sql书写习惯编写C#.NET代码。功能强大 2)高性能(与Dapper媲美,接近...
ORM框架 C#.NET ORM框架ORM框架 C#.NET ORM框架ORM框架 C#.NET ORM框架ORM框架 C#.NET ORM框架
eform.chm的中文帮助手册,我很喜欢
简单易用的基于SQLite3的C++ ORM框架
轻量级,只有一个dll文件(不到200KB),相比于EF,NHibernate这些重量级的ORM框架,实在是太小。 3.支持各种不同主流数据库,例如:SQL Server,MySql,Oracle,Sqlite,Access等等。 4.高性能,接近手写sql 5...
系统架构+ORM+设计模式 系统架构+ORM+设计模式
ORM映射与WEB的应用ORM映射与WEB的应用ORM映射与WEB的应用ORM映射与WEB的应用ORM映射与WEB的应用ORM映射与WEB的应用
spring-orm.jar
SqlSugar ORM工具箱2.2.7z
ORM对象关系映射。。ORM对象关系映射。。太详细了。。最全的介绍。
Dos.ORM 代码生成器 实体生成器
这是很经典的 dao orm 方法 魔乐技术2008的经典