O/R Mapping在实际中用于什么方面最有优势?

FlySoftter 2006-04-20 10:29:05
O/R Mapping在实际中用于什么方面最有优势?
...全文
4447 26 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
jacklondon 2006-05-13
  • 打赏
  • 举报
回复
提高学习和开发效率这句话怎么这么别扭?
提高学习和开发效率 = 提高学习效率和开发效率? 学习效率怎么用 Hibernate 提高啊?
应该是增大学习成本,用 Hibernate 必须要会 SQL, 用 SQL 的人可以不会 Hibernate.
"隔离数据源" 就不要提了。用 JDBC 就可以达到目的。
其实 Hibernate 的一个大的问题大家都没有看到。如同 JDO 一样,Hibernate 也有可能在某一个被另外一个 O/R mapping 工具替代,到时候,你原有的用 Hibernate 写的代码能够找到足够多的程序原来维护么? 现在已经有 JDO 项目在升级的时候因为找不到足够的人手只好改用 hibernate 的例子,谁敢保证 JDO 德今天不是 Hibernate 的明天?
用 JDBC 就可以避免这个问题。
yummy_cn 2006-04-25
  • 打赏
  • 举报
回复
最后一贴是广告-_-!
Saro 2006-04-24
  • 打赏
  • 举报
回复
是啊,hibernate能解决,简化大部分的问题,这已就足够了。
禽兽v5 2006-04-24
  • 打赏
  • 举报
回复
sevencat(七猫)
OR可能最适合那些查找一条记录,修改一条记录,删除一条记录较多的情况。对于批量处理,我想并没有啥优势,JAVA中存在的"N+1Select"是笑死人的。
----------
o/r m就用在表单上。大数据量查询还是得sql。不要神化它的功能。

不过我想这已经能解决很多问题 :)))
JamesLiu8888 2006-04-24
  • 打赏
  • 举报
回复
框架把所谓的灵活性,易用性,重用性等提高到一个层次后,又会冒出基于该层次之上的一些灵活性,易用性,重用性等问题。

这就是为什么不断有新版本,新框架,新技术出现的原因...

但是开源方式,提供了一个更有人气的平台,让所有与之相关的人,可以畅所欲言,各取所需...

毕竟我们开发软件是给人用的,别人用软件是业务、工作需要,所以,出现很多千奇百怪的需求,先是行业标准,再是地方标准,然后是用户习惯,再然后才是我们这些写程序的苦命的劳动人民。框架只能帮我们解决一些片面性、相似性的问题,但不是这样就可以懑足我们伟大的客户的需要的,还需要用很多低级的、原始的方法来解决一些你说了不算,但是又一定要解决的问题。
seztty 2006-04-24
  • 打赏
  • 举报
回复
降低开发成本
pdw2009 2006-04-24
  • 打赏
  • 举报
回复
2. 提高学习和开发效率,极大的降低开发成本。

我认为这说法有问题,在原型法的开法过程序并不能降底成本,效率也不底!!!因为在MIS的开发过仍然是数据驱动开发,而不是对象。.....................

等等,很多了。。。。。。我觉得这东西不能用在大的项目开发中。难护起来特别麻烦。
pigo 2006-04-24
  • 打赏
  • 举报
回复

提高开发效率,配合我自己的代码生成器。
70%的代码都用代码生成器生成好了。

再加上目前作的东西的业务逻辑很简单,大部分都是增删查改。
把生成好的代码小改动一下就可以了,bug也少。



jacklondon 2006-04-23
  • 打赏
  • 举报
回复
今天在 《J2EE without EJB》(spring 的作者写的) 书中,看到和我同样的想法,即 O/R mapping 并不适合所有情况。尽管我对 spring 不感冒,spring 有的理论还是和我几年以来的想法非常吻合。
另外,.Net , PHP 两大 web 编程领域, O/R mapping 用的少之又少,人家不也好好活着?开发效率和运行效率也还很不错啊。
sevencat 2006-04-23
  • 打赏
  • 举报
回复
OR可能最适合那些查找一条记录,修改一条记录,删除一条记录较多的情况。对于批量处理,我想并没有啥优势,JAVA中存在的"N+1Select"是笑死人的。

正如楼上所说,对批量处理没啥优势,其实也可以用ibatis试试(JAVA),C++没有可用的OR方案,可能是语言本身有问题,C#和JAVA都有
lnwuyaowei 2006-04-23
  • 打赏
  • 举报
回复
up.
Ivony 2006-04-22
  • 打赏
  • 举报
回复
ORM的关键优势就在于Mapping,将数据变成对象,直接与这些对象打交道而不用考虑数据库……
jacklondon 2006-04-22
  • 打赏
  • 举报
回复
1. 如果你觉得用 SQL 就比较好,就不要用 O/R mapping. 并不是每个人都需要 O/R mapping.
2. O/R mapping 并没有实现全部的 ANSI SQL 功能,hibernate/JDO 都没有做到。
3. 对于大多数简单的情况,即 SQL 比较简单,查询多于更新,用 O/R mapping 比较省代码。
4. 对于复杂的情况,比较大批量数据更新,复杂报表生成 , 用 SQL 会更好,更简单,也更高效。
5. O/R 代码简洁是指除开 O/R mapping 工具自己写的代码之外,项目中程序员写的代码量要少。但这也是非常有争议的。也有很多只用 SQL 代码很简洁的框架,不是绝对的。
Ivony 2006-04-22
  • 打赏
  • 举报
回复
如果采用传统的手工SQL, JDBC方式编码,代码量可以多出近5倍。在算上测试节省的时间,可以件采用O/R Mapping技术可以极大的提高开发效率和开发时间,同时开发质量也更容易保证。

===============================================================

???不采用ORM代码两反而会多5倍?!

ORM不就是拿个代码生成器生成一大堆亢长重复的代码让数据库的东东Mapping成Object么?他生成的那些代码比传统的直接连数据库可是多出几倍不止……



再说,不能只谈ORM的优势,ORM的缺点也是很致命很多的……
dandelionisstraw 2006-04-22
  • 打赏
  • 举报
回复
不太明白您问的是什么。O/R Mapping的优势不就在于OO Model和Relation Model之间的Mapping吗?
Ryo_Hazuki 2006-04-22
  • 打赏
  • 举报
回复
各有所好
szjay 2006-04-22
  • 打赏
  • 举报
回复
.net下有没有轻量级的O/R Mapping框架?
sqlink 2006-04-21
  • 打赏
  • 举报
回复
or mapping主要是代码复用性高,开发方便快捷,个人觉得如果是小规模的项目可以直接sql,项目的规模越大越复杂就越能体现or mapping的重要性(当你写到几千条sql语句时,你就能深刻的理解到了),当然在性能方面是没什么太大的优势(除了有点cache机制之外)
henryfan1 2006-04-21
  • 打赏
  • 举报
回复
O/R M代码集中,可控性高.
在各方面的优化上都占有很大的优越.
zeusvenus 2006-04-20
  • 打赏
  • 举报
回复
还有,便于形成可复用的资源。
加载更多回复(5)

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧