最近一直有件不爽的事情困扰着我,由于工作的安排,接手了一个别人做了半截的、需求乱七八糟的项目。
这个项目代码现有大约4,5万行的样子,使用了ExtJS+DWR+JPA(toplink10.1.3.1.0)的组合。框架组合倒也没什么问题,但是接手后,由于大量生产数据陆续录入系统,系统时不时会出现内存溢出的问题。
震惊之一:数据查询不分页。
什么原因的?通过阅读代码得到结果:数据查询时没有做分页处理,我靠,我有点震惊了!!!!数据查询不分页,想干什么?没办法,遇到问题了就得解决问题,虽然之前对JPA,尤其是Toplink没什么了解。通过查API,查文档,得知JPA提供标准的分页接口:
query.setFirstResult(int);
query.setMaxRows(int);
最气人的是,有人还时不时的冷嘲热讽,谁谁谁做这样的功能快得很,言外之意不言自明了,气得我真想骂他娘。他认为在目前的状况下,我虽然不熟悉目前项目的框架,但也要做,而且还要又快又好,整个一SB。
通过查看阅读toplink相关的文档,发现toplink中文资料很是缺少,不得不到官方网站上找资料。在资料比较缺乏的情况下,采用这样一个框架,依据是什么,它的优势在哪里?
软件项目的最初架构怎么能这样选择呢,框架资料缺少,开发人员怎样快速上手,边干边学不是不行,但怎样保证项目进度和项目质量,很大程度上是在糊弄事吗?
震惊之二:不是很了解框架的情况下,就选择使用。
后来和最初开发者交流中得知,他不确定Toplink-10.1.3.1.0中是否提供了对JPA标准分页接口的实现。虽然最新的版本toplink11g(Eclipselink)中已经提供了JPA标准分页接口的实现。但从toplink的文档中了解到,从Toplink-10.1.3.1.0升级到Eclipselink时,配置文件要做较大的改变,就目前项目的实际情况来看,想花时间升级是不可能的。
综上所述:项目核心人员选择项目框架时,最好慎重一些。
1.尽量选择为大多数开发人员熟悉的技术。
为大家认可的,较流行的技术框架一般相关资料较丰富,遇到问题,比较方便解决。否则,费尽九牛二虎之力也无法保证项目质量和进度。
2.项目核心人员对选择框架或者技术要比较了解,最好是较深入了解。
你选择了一项较新的技术,大家都是新手,遇到难点时,都想从你这里获得点信息,结果你也不清楚,这项目怎么进行,大家停下来搞研究啊,我倒是愿意,但老板愿意给这个时间吗?
3.把自己的烂摊子转给别人,你也好意思的?
自己的设计和代码自己心里最清楚,设计的好,还能让自己长点面子。一个烂摊子,你就自己留着弄完吧,否则留下一个半截的烂摊子给别人,你自己爽了,也不替别人想想,这叫什么事阿?
下面是oracle原生SQL分页查询:
SELECT x.* from (SELECT z.*,rownum numbers from (select * from table order by id desc) z where rownum<10) x where x.numbers>0
分享到:
相关推荐
1. **MyEclipse环境下配置SSH**:在使用MyEclipse进行SSH框架的搭建时,需要注意Jar包的选择。对于Spring,除了选择AOP和JDBC等核心库外,还应该包括web相关的库;而对于Hibernate,只需选择核心库即可。 2. **...
在选择大数据平台技术框架时,需要考虑到多种因素,如核心功能需求、技术组件服务、商业服务性价比、简单性、广泛性、特性、陷阱等。 首先,需要满足大数据平台的核心功能需求,如数据存储、数据处理、数据分析、...
SSH2框架,全称为Struts2 + Spring + Hibernate2,是一种经典的Java web开发技术栈,用于构建高效、可维护的企业级应用。...在实际开发中,还需要关注性能优化、异常处理、安全性等问题,确保应用的稳定性和可靠性。
安装过程包括启用框架服务、重启设备以及在框架设置中选择要激活的模块。安装过程中需要注意的是,不正确的操作可能导致系统不稳定,因此建议在有经验的指导下进行。 Xposed框架的工作原理基于Zygote进程,这是安卓...
风度框架是一款针对Android系统的框架修改工具,专为Android 12版本...如果你是一个喜欢挑战、追求个性化的Android用户,那么风度框架可能是你的理想选择。不过,在享受自定义的乐趣时,也要记住安全第一,谨慎操作。
在实际开发中,SSH框架的集成使用需要注意以下几点: 1. **配置管理**:合理配置Struts2的struts.xml、Hibernate的hibernate.cfg.xml和Spring的applicationContext.xml等配置文件,确保各组件之间能正确协作。 2. ...
在保存框架和框架集时,需要注意正确的保存顺序和方法。 本PPT学习教案详细讲解了使用框架布局网页的概念、框架和框架集的关系、框架网页的优点和缺点、创建框架集、框架和框架集的基本操作、设置框架和框架集的...
然而,值得注意的是,安装Xposed框架需要你的设备已经root,这可能会使你的设备失去保修,并且可能增加安全风险。 在安装Xposed框架之前,你需要做好以下准备: - 确保你的设备已经root,因为非root设备无法安装...
大数据平台技术框架选型分析是指在选择大数据平台技术框架时,需要考虑多种因素,以确保选择的技术框架能够满足业务需求。以下是大数据平台技术框架选型分析的知识点摘要: 一、需求分析 大数据平台的核心需求包括...
使用Xposed框架需要注意的是,由于它涉及到系统级别的修改,可能会导致稳定性问题,甚至可能导致设备无法启动。因此,建议在进行任何重大修改之前备份系统,以便在出现问题时可以恢复。 总的来说,Xposed-v86-sdk22...
在进行网页框架操作时,还需要注意一些关键问题。比如,跨域安全限制可能会阻止易语言的网络组件访问某些框架内容,此时需要理解并应用相关的HTTP头信息,如“Access-Control-Allow-Origin”。此外,由于网页框架的...
在安装和使用Xposed框架时,用户需要注意以下几点: 1. **风险提示**:虽然Xposed提供很多便利,但不正确的配置可能导致系统不稳定,甚至可能无法启动。 2. **备份**:在进行任何系统修改之前,都应该备份重要的数据...
1. **版本兼容性**:在实际项目中部署时,需要特别注意各框架版本间的兼容性问题。比如Spring与Hibernate的版本匹配、Struts 2与其他依赖库的版本协调等。 2. **依赖管理**:使用Maven或Gradle等构建工具进行依赖...
- **性能考虑**: 在处理大量数据时,需要特别注意性能优化。 ### 结论 综上所述,每种Java框架都有其独特的优势和适用场景。选择合适的框架需要根据项目的具体需求、团队的技术背景等因素综合考虑。无论是...
在设计软件框架时,广泛采用成熟的设计模式是非常有益的。设计模式是经过验证的解决方案,可以帮助解决常见的设计问题,提高代码的可读性和可维护性。 #### 4. 强调代码重用 通过合理地组织代码结构和组件,软件...
SSH框架,全称为Struts2、Spring和Hibernate的组合,是...然而,值得注意的是,虽然SSH框架曾经非常流行,但随着技术的发展,Spring Boot和Spring Framework的整合已经逐渐取代了SSH,成为现代Java Web开发的新选择。
本文将详细探讨如何根据不同的AutoCAD版本来选择相应的开发工具和框架,以避免可能出现的问题,并确保项目的高效性和安全性。 #### 二、AutoCAD与.NET Framework版本搭配指南 为了确保CAD二次开发的兼容性与稳定性...