ORM本身就是错误的路径 -- 两个凡是

宏哥 发布于 2015/11/26 16:32
阅读 267
收藏 0

所以诞生了hibernate这种怪胎, 不懂数据库的人,开发的一个ORM

用于给数据访问制造麻烦, 和拖慢系统的玩意

jdbctemplate或者 jfinal就可以了。

任何 ORM都是错误的。

O 和 R 没有 Mapping的关系

加载中
0
魔法刀客
魔法刀客
瞎喷!orm存在的理由是什么,认真考虑过没有的!
0
c
c132124

这个主题稍微深入点,坐等那几个职业喷现炒现卖。

看看他们跟风节奏如何。

0
大王来巡山
大王来巡山
我觉得你在骗回复,我也上当了
0
eechen
eechen
ORM是一种为了迎合OOP,过度抽象的失败的模式,不仅增加了学习成本,还影响性能,而且欠缺灵活性(比如难以实现复杂的SQL JOIN查询).对数据库而言,SQL的表达能力和灵活性根本不是ORM能比的.而且PHP关联数组本身就能够充分表达(存储)关系查询的结果,比用对象存储更合适.ORM这种设计,简直就是跟SQL和PHP背道而驰.Java的数组没有PHP灵活,而且过度依赖类和对象(完全面向对象的锅),所以才会把SQL关系映射成对象.拒绝框架DB类(ORM/AR),PHP关联数组+SQL才是王道!

为什么说ORM是一种反模式
http://www.nowamagic.net/librarys/veda/detail/2217
ORM最初比编写基于SQL的模型代码更快,也更容易理解,在任何项目早期都是足够有效的.
不幸的是,这些优点在项目复杂性提升的时候就消失了:抽象被打破,开发者被迫使用并理解SQL.
完全是非正式的声明,我认为ORM对抽象的破坏不是仅仅涉及20%的项目,而是几乎100%.
对象并不足以充分表达关系查询的结果.
关系查询映射到对象的不充分性导致了ORM后端应用的效率低下,这些问题普遍分布在应用的各处,并且除了完全放弃ORM之外,没有简单的解决办法.
不要对任何问题都使用关系存储与ORM,而是更加仔细地思考你的设计.
如果你的数据天生就是对象,那么请使用对象存储(NoSQL),它们要比关系数据库快得多.
如果你的数据天生就是关系型的,那么关系数据库带来的开销是值得的.
把你的关系查询封装在模型层中,设计你的API从而为应用提供数据访问支持,拒绝过分泛化的诱惑.
面向对象无法以有效的形式表达关系数据,这是面向对象设计的一个基本限制,ORM无法修复它.
0
雨翔河
雨翔河

我也不喜欢orm

0
真友
真友
这个不能一概而论的,你写个简单的查询用ORM就方便,当然如果你写报表非要ORM说他难用? 只能怪你脑子不好使
0
红薯
红薯

@宏哥 你喷点有新意的好马,这些都是几年前你玩剩下的,别再玩老的了

0
宏哥
宏哥

引用来自“红薯”的评论

@宏哥 你喷点有新意的好马,这些都是几年前你玩剩下的,别再玩老的了

随手写的

确实是, 以后玩新的

0
Sky__
Sky__
其实,一说到orm,大家吐槽的都是hibernate, hibernate出来之前,大家不都是写jdbc写的风声水起
返回顶部
顶部