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

FlySoftter 2006-04-20 10:29:05
O/R Mapping在实际中用于什么方面最有优势?
...全文
4444 26 打赏 收藏 转发到动态 举报
写回复
用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)
Elasticsearch 简介 ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算,能够达到实时搜索,稳定,可靠,快速,安装使用方便。elasticSearch 的使用场景 1、在海量数据前提下,对数据进行检索。比如:京东,淘宝等电商项目课程目标: 1. 了解企业级搜索引擎2. 安装elasticsearch 课程目录: 01 课程介绍02 elasticsearch 简介03 elasticsearch 使用场景04 安装elasticsearch 之前先安装jdk05 安装elasticsearch06 测试elasticsearch是否安装成功 07 安装kibana08 elasticsearch 基本认识 以及添加索引和删除索引09 elasticsearch 添加查询数据10 elasticsearch 修改删除数据11 elasticsearch 有条件的查询12 分词子属性fuzzy查询13 elasticsearch 过滤使用14 elasticsearch 排序与分页15 elasticsearch 如何查询指定的字段16 elasticsearch 高亮显示17 elasticsearch 聚合18 elasticsearch mapping 概念19 elasticsearch 的文词库20 elasticsearch 文词库安装测试21 elasticsearch 文词库的使用案例22 elasticsearch 自定义词库配置23 安装nginx 配置文词库24 测试elasticsearch 自定义文词库25 搭建项目父工程26 搭建项目bean-interface-common27 搭建search 的service web 项目28 测试项目是否能与elasticsearch联通29 创建数据库并搭建首页30 数据上传功能的实现类完成31 数据上传控制器完成32 dubbo 介绍以及安装zookeeper33 将数据从mysql 上传到elasticsearch 34 elasticsearch查询功能分析35 编写业务需求的dsl 语句36 编写输入参数返回结果集的实体类37 实现类编写38 编写实现类dsl 语句39 返回集结果转换40 结果测试41 测试通过输入查询条件并将数据显示到页面

67,514

社区成员

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

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