问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ORM是否必要?

发布网友 发布时间:2022-04-09 16:27

我来回答

3个回答

热心网友 时间:2022-04-09 17:56

ORM可以防止注入作为附加功能,SQL也可以带来反注入机制。ORM的主要作用是将数据库域的对象映射到面向对象的域中,因为开发人员更熟悉它们。


开发人员在开发时更倾向于用对象的方式思考

而他们更熟悉的用户有很多问题,而不是行、列和外键。面向对象的好处是在业务级重用,包括关联和业务逻辑。以上是OLTP和OLAP可能不同。使用ORM做OLAP分析不会有什么违反的感觉。

虽然大多数ORM工具还提供接口,如组,加入和总和,ActiveRecord实际上提供了内在的连接,它必须拼左连接和交叉连接,但它实际上并没有多大的帮助。

直接写作是最简单、最直接的方法。

因为在OLAP应用程序中,思维不是面向对象的,而是面向主题、维度和度量的核心。

ORM的基本含义是将这个抽象结构暴露到应用程序代码中。

当您直接访问数据库时,结构是外部的,在文档内部和程序员的头脑中。代码中没有物理对应关系。ORM为您提供了物理结构。

具体来说,当ORM时,您处理字段通信,当您使用SQL直接操作时,这很明显,您使用大脑将业务逻辑与SQL相匹配。

另一种方法是

通过ORM,抽象被构造并输入到应用程序代码中,这样就可以在代码中直接实现许多必要的约束,这有助于正确性。

热心网友 时间:2022-04-09 19:14

工程上没有绝对必要的东西,但是工程上说,ORM是极有价值的东西。当年也有人觉得 ORM 浪费资源,思路不清晰,虽然用了 Hibernate ,还是直接写 SQL ,手工操作。


什么是ORM

ORM框架采用元数据来描述对象一关系映射细节,元数据一般采用XML格式,并且存放在专门的对象一映射文件中。

只要提供了持久化类与表的映射关系,ORM框架在运行时就能参照映射文件的信息,把对象持久化到数据库中。当前ORM框架主要有三种:Hibernate,iBATIS,EclipseLink。

ORM从未从数据库中逃脱。如果你无法逃脱,为什么还要坚持呢?

有时,使用编程语言(而不是SQL(我也走了弯路,由MS讲道linq和linqtosql使用)来实现的复杂的SQL查询后台非常困难,因此,为什么复杂性的问题会出现在2、3甚至N度.

它真的能减轻开发的工作量吗?对不起,这不是放松。直接使用SQL访问(JDBC或ADO.net)相对较重。但是,复杂性并不是专注于业务的逻辑实现,而是UI层和用户交互。

如何设计查询、传入参数到IQuery

配置层XML来编写SQL语句。该程序的主要业务不是集中在这些方面,而是只关注于接口(仅针对IQuery)。对于XML层,可以自动地编写代码、复杂的SQL或人工干预,以及关于UI的复杂查询可以手动处理。

最后:我觉得任何语言都是相通的吧,没有什么必要不必要。

热心网友 时间:2022-04-09 20:49

ORM的好处是,您不必中断面向对象的过程来考虑SQL,并编写代码以使其平滑。但是缺点是有很多*,有时不像SQL那样灵活。但是能够迁移到不同的数据库还有一个好处。

一.ORM的概念是必要的,但是物极必反

RM生成的SQL质量不高,与框架相关,高、低;同样与人相关的是,熟悉SQL的人通常有更高的代码质量,这是编写由C程序员编写的良好质量的C代码的一个很好的理由,这些代码是由理解硬件的C程序员编写的。

在单位时间上提高了ORM的生产质量和效率。我想说明这一点。至于你写ORM代码是否会不可避免的比人为的好,我就是消极的态度。特别是对我来说,我认为几乎不可能超过我的手工编码的ORM。

然而,ORM允许我将一些复杂工作的人力成本压缩到可以接受的程度。例如,我正在研究一个数据建模工具。如果手工编码,我想考虑是否有一个模式,是否有serials,特定的数据库,不同的语法变化,以及不同生成的不同生成的目的。我将为自己编写一堆编译过的代码,因为我有一个成熟的、易于使用的、质量控制的ORM工具,为什么不呢?至少我可以减少3 / 4的代码。

二.ORM最终也是执行sql语句

ORM是通过提供的接口完成的,使用ORM直接获取数据,返回的数据通常是经过封装后的,资源的使用必须大于原始的SQL,在显示的时候方便,对于一个对象和一个简单的没有太大区别的组合。ORM最终执行SQL语句,我觉得我只是在用一堆代码来生成一个字符串。不可否认,它在某些地方确实很好,比如保存、添加和修改,这是很方便的。重用希望是好的。如果我只是使用orm来拼写SQL语句,我就不会有太多的感觉。实际上,我也使用ORM,在后面我使用ORM,我的前台80%是原始SQL

三.CQRS 核心就是领域层和读取数据分离

CQRS实际上是DDD的着陆框架。查询不需要通过存储库路径,所以越快越好,例如,直接使用SQL选择直接读取数据库是最好的,最快的。可以省略命令部分,而不是使用应用程序层,但是如果项目很大,最好使用命令。

在实际开发中,我认为你应该敞开心扉,不要局限于规则。它是为简单、效率和实用性而设计的。所谓的标准也是为了这个目的。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
水下摄影注意问题 水下摄影要会游泳吗 拇指与食指之间是什么 哪位师傅能告诉我,,螺纹深度的计算公式啊 理想情况下双目深度测量误差与各参数间关系的简单分析 QQ空间黄钻最高等级是多少,QQ黄钻等级有什么用 打篮球真的能长高么, 我有一学长打篮球,也不怎么高啊,,,【学长我错了... 空间形态类型有哪些 ...整形形态,分型形态,无序的自然形态分别是什么... 形有哪些 不倒翁用鸡蛋壳做不倒翁怎么做 你好 我想要破解一个qq的密码 你可以帮我吗? 我想要破解一个QQ密码! 求大神帮忙。 谁可以帮我破解一个QQ号的密码.~!不用盗号,只用知道密码就行~!有这方面的才能的朋友请与我联系 有没有人能帮我破解一个qq号密码:1067094804 捡到一台苹果手机怎么解锁? 捡到一台苹果手机怎么解锁 拣了个苹果手机怎么刷机 我今天捡到一个苹果手机,但是我已经拿去刷机了,也绑定ID了,能用吗?在线求解 捡到个苹果手机怎么看真假 捡到个苹果手机我自己能用吗?怎么破解? 怎么破解捡的苹果手机 刚才捡到的苹果手机,各位吧友看看怎么办 捡到一个苹果手机可不可以解锁刷机去 捡到iphone6有屏幕锁,怎么查看系统版本? 捡到一个苹果手机,怎么知道它是苹果几代的 10010是什么电话,是哪里的号码 10010打的电话是真的吗 请教联通电话10010是什么号码啊 10010这个号码是中国联通的客服热线吗? 晓组织之最! 研究性学习——折纸 求一部日本恐怖猎奇动漫的名字。一群学生在教室围成一个圈念咒语每个人都有一个折纸 然后他们就穿越到 美国人萨姆劳埃德发明的折纸游戏“离开地球”中13个武士怎么就变成12个了,请问消失的武士去哪里了? 恐空特急克塞号、超级玛莉、弹玻璃球、折纸风车、跟着哥哥偷栗子、挖野菜……80后美妙的童年!^-^ 请问WPS表格怎样文本转换成数值 50砖墙怎么砌 砌砖砌18墙,24墙,37墙,49墙时,如何砌法? 二四墙的砌筑方法 墙体的砌法 二四墙三七墙转角的砌法 50墙的砌法 急求 关于50墙的砌筑方法?主要是怎样摆砖! 50墙砌筑方法?50墙怎么砌啊?? 急啊! 谢谢了。 62墙的砌法开头 有ORM模型转SQL语句操作的工具么 三菱猎豹飞腾车四驱档位说明? 猎豹汽车手动四驱怎么用? 急!!求猎豹长丰汽车四轮驱动如何操作? 我刚购买了一台macbook pro电脑,在苹果系统下找不到中文输入法.求高手指点.谢谢