`

集团网厅项目开发测试问题总结 之 后台问题

 
阅读更多

 集团网厅开发问题

 

 

 

 /***********************后台bug总结**********************************
下面是在工作中常用的一些后台的bug,
目标:总结常用的问题的解决方法,提高开发效率
开始时间:2011-11-10
编写人:happ
参阅书籍:
相关项目:《集团网厅 》

技术:ssh1+oracle+javaScript||jQuery
*/

  


    1.1 在开发线预约订单查询时,由于是多个表的关联就采用hibernate的语句


     String hql = "from TGroupOrderDTO Z left join fetch Z.tbTGroupInfoDTO A left join fetch Z.tbTPackageDTO B ";
  String whereSql=" and B.tbTOperaDTO.operaId in (select C.operaId from B.tbTOperaDTO C where  C.tbTOperaTypeDTO.operaTypeId=1) ";
     String hql1 = "from TGroupOrderDTO  ";
  String whereSql1=" and Z.tbTPackageDTO.tbTOperaDTO.operaId in (select C.operaId from Z.tbTPackageDTO.tbTOperaDTO C where  C.tbTOperaTypeDTO.operaTypeId=1) ";
  在查询list集合时可以,但是在查询总记录时 如果是hql+whereSql则 异常为
  org.springframework.orm.hibernate3.HibernateQueryException: query specified join fetching, but the owner of the fetched association was not present in the select list [FromElement{explicit,not a collection join,fetch join,fetch non-lazy properties,classAlias=A,role=null,tableName=T_GROUP_INFO,tableAlias=tgroupinfo1_,origin=T_GROUP_ORDER tgrouporde0_,colums={tgrouporde0_.GROUP_ID ,className=com.sinovatech.model.dto.TGroupInfoDTO}}] [select count(*) from com.sinovatech.model.dto.TGroupOrderDTO Z left join fetch Z.tbTGroupInfoDTO A left join fetch Z.tbTPackageDTO B  where 1=1 ]; nested exception is org.hibernate.QueryException: query specified join fetching, but the owner of the fetched association was not present in the select list [FromElement{explicit,not a collection join,fetch join,fetch non-lazy properties,classAlias=A,role=null,tableName=T_GROUP_INFO,tableAlias=tgroupinfo1_,origin=T_GROUP_ORDER tgrouporde0_,colums={tgrouporde0_.GROUP_ID ,className=com.sinovatech.model.dto.TGroupInfoDTO}}] [select count(*) from com.sinovatech.model.dto.TGroupOrderDTO Z left join fetch Z.tbTGroupInfoDTO A left join fetch Z.tbTPackageDTO B  where 1=1 ]
     如果是hql1+whereSql1 对应的异常为
     2012-03-01 10:33:00,827 ERROR [com.sinovatech.common.web.action.BaseAction] - org.springframework.orm.hibernate3.HibernateQueryException: could not resolve property: operaId of: com.sinovatech.model.dto.TPackageDTO [select count(*)  from com.sinovatech.model.dto.TGroupOrderDTO  Z  where 1=1  and Z.tbTPackageDTO.tbTOperaDTO.operaId in (select C.operaId from Z.tbTPackageDTO.tbTOperaDTO C where  C.tbTOperaTypeDTO.operaTypeId=1) ]; nested exception is org.hibernate.QueryException: could not resolve property: operaId of: com.sinovatech.model.dto.TPackageDTO [select count(*)  from com.sinovatech.model.dto.TGroupOrderDTO  Z  where 1=1  and Z.tbTPackageDTO.tbTOperaDTO.operaId in (select C.operaId from Z.tbTPackageDTO.tbTOperaDTO C where  C.tbTOperaTypeDTO.operaTypeId=1) ]
  org.springframework.orm.hibernate3.HibernateQueryException: could not resolve property: operaId of: com.sinovatech.model.dto.TPackageDTO [select count(*)  from com.sinovatech.model.dto.TGroupOrderDTO  Z  where 1=1  and Z.tbTPackageDTO.tbTOperaDTO.operaId in (select C.operaId from Z.tbTPackageDTO.tbTOperaDTO C where  C.tbTOperaTypeDTO.operaTypeId=1) ]; nested exception is org.hibernate.QueryException: could not resolve property: operaId of: com.sinovatech.model.dto.TPackageDTO [select count(*)  from com.sinovatech.model.dto.TGroupOrderDTO  Z  where 1=1  and Z.tbTPackageDTO.tbTOperaDTO.operaId in (select C.operaId from Z.tbTPackageDTO.tbTOperaDTO C where  C.tbTOperaTypeDTO.operaTypeId=1) ]
  Caused by: org.hibernate.QueryException: could not resolve property: operaId of: com.sinovatech.model.dto.TPackageDTO [select count(*)  from com.sinovatech.model.dto.TGroupOrderDTO  Z  where 1=1  and Z.tbTPackageDTO.tbTOperaDTO.operaId in (select C.operaId from Z.tbTPackageDTO.tbTOperaDTO C where  C.tbTOperaTypeDTO.operaTypeId=1) ]
  at org.hibernate.persister.entity.AbstractPropertyMapping.propertyException(AbstractPropertyMapping.java:44)
  at org.hibernate.persister.entity.AbstractPropertyMapping.toType(AbstractPropertyMapping.java:38)
  at org.hibernate.persister.entity.AbstractEntityPersister.toType(AbstractEntityPersister.java:1358)
  at org.hibernate.hql.ast.tree.FromElementType.getPropertyType(FromElementType.java:279)
  at org.hibernate.hql.ast.tree.FromElement.getPropertyType(FromElement.java:386)
  at org.hibernate.hql.ast.tree.DotNode.getDataType(DotNode.java:566)
  at org.hibernate.hql.ast.tree.DotNode.prepareLhs(DotNode.java:241)
  at org.hibernate.hql.ast.tree.DotNode.resolve(DotNode.java:188)
  at org.hibernate.hql.ast.tree.FromReferenceNode.resolve(FromReferenceNode.java:94)
  at org.hibernate.hql.ast.tree.FromReferenceNode.resolve(FromReferenceNode.java:90)
  at org.hibernate.hql.ast.tree.DotNode.resolveSelectExpression(DotNode.java:626)
  at org.hibernate.hql.ast.HqlSqlWalker.resolveSelectExpression(HqlSqlWalker.java:739)
  at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectExpr(HqlSqlBaseWalker.java:1885)
  at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectExprList(HqlSqlBaseWalker.java:1825)
  at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectClause(HqlSqlBaseWalker.java:1394)
  at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:553)
  at org.hibernate.hql.antlr.HqlSqlBaseWalker.collectionFunctionOrSubselect(HqlSqlBaseWalker.java:4253)
  at org.hibernate.hql.antlr.HqlSqlBaseWalker.inRhs(HqlSqlBaseWalker.java:4161)
  at org.hibernate.hql.antlr.HqlSqlBaseWalker.comparisonExpr(HqlSqlBaseWalker.java:3842)
  at org.hibernate.hql.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:1762)
  at org.hibernate.hql.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:1690)
  at org.hibernate.hql.antlr.HqlSqlBaseWalker.whereClause(HqlSqlBaseWalker.java:776)
  at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:577)
  at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:281)
  at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:229)
  at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:228)
  at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:160)
  at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)
  at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77)
  at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56)
  at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)
  at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
  at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
  at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623)
  at sun.reflect.GeneratedMethodAccessor100.invoke(Unknown Source)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  at java.lang.reflect.Method.invoke(Method.java:597)
  at org.springframework.orm.hibernate3.HibernateTemplate$CloseSuppressingInvocationHandler.invoke(HibernateTemplate.java:1202)
  at $Proxy5.createQuery(Unknown Source)
  at com.sinovatech.common.model.dao.DaoSupport$5.doInHibernate(DaoSupport.java:223)
  at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:372)
  at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:338)
  at com.sinovatech.common.model.dao.DaoSupport.countHql(DaoSupport.java:216)
  at com.sinovatech.model.dao.GroupOrderDAO.list(GroupOrderDAO.java:93)
  at com.sinovatech.model.bpo.GroupOrderBPO.list(GroupOrderBPO.java:189)
  at com.sinovatech.model.bpo.GroupOrderBPO$$FastClassByCGLIB$$90abff17.invoke(<generated>)
  at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
  at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622)
  at com.sinovatech.model.bpo.GroupOrderBPO$$EnhancerByCGLIB$$befdaf73.list(<generated>)
  at com.sinovatech.model.facade.GroupOrderFacade.list(GroupOrderFacade.java:177)
  at com.sinovatech.back.orderManager.action.GroupOrderAction.queryGroupOrder(GroupOrderAction.java:122)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  at java.lang.reflect.Method.invoke(Method.java:597)
  at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:269)
  at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170)
  at org.apache.struts.actions.MappingDispatchAction.execute(MappingDispatchAction.java:166)
  at com.sinovatech.common.web.action.BaseAction.execute(BaseAction.java:91)
  at com.sinovatech.common.web.action.BaseAdmAction.execute(BaseAdmAction.java:83)
  at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
  at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
  at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
  at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
  at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
  at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
  at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
  at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
  at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  at com.sinovatech.common.web.filter.EncodeFilter.doFilter(EncodeFilter.java:59)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
  at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
  at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
  at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
  at java.lang.Thread.run(Thread.java:662)
 2012-03-01 10:33:00,828 WARN [org.apache.struts.action.ActionMapping] - Unable to find 'commonMapping' forward.
     
     1.2 ectable 列表的分页不能使。始终报下边这个错误。 

 

       行: 422
    错误: 'document.forms.GroupOrderExList.GroupOrderExList_p' 为空或不是对象
     原因:虽然解决了,但是还是没有找到原因,不知道是js包的原因,还是form表单嵌套的原因。
  
  1.3 hibernate批量插入功能

 

   思路: 1 将<prop key="hibernate.jdbc.batch_size">50</prop>可高效的插入
       2 执行下边的代码多次save
        for (Entity en : entityList) {
     getHibernateTemplate().save(entity);
    }


  1.4 时间:2012-3-8

 

  bug描述:
   java.lang.ClassNotFoundException: com.sinovatech.bms.adm.model.dto.TBmsDeptDTO
   at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647)
   at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1493)
   at java.lang.Class.getDeclaredMethods0(Native Method)
   at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
   at java.lang.Class.getMethod0(Class.java:2670)
   at java.lang.Class.getMethod0(Class.java:2679)
   at java.lang.Class.getMethod(Class.java:1603)
   at org.apache.struts.actions.DispatchAction.getMethod(DispatchAction.java:348)
   at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:252)
   at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170)
   at org.apache.struts.actions.MappingDispatchAction.execute(MappingDispatchAction.java:166)
   at com.sinovatech.common.web.action.BaseAction.execute(BaseAction.java:91)
   at com.sinovatech.common.web.action.BaseAdmAction.execute(BaseAdmAction.java:83)
   at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
   at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
   at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
   at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
   at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
   at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
   at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
   at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
   at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at com.sinovatech.common.web.filter.EncodeFilter.doFilter(EncodeFilter.java:59)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
   at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
   at java.lang.Thread.run(Thread.java:662)
 
 1.5 错误:在引用ectable控件,点击翻页时报错 

 

  消息: 'document.forms.MemberOrderExList.MemberOrderExList_p' 为空或不是对象
  行: 510
  字符: 1
  代码: 0
  URI: http://10.70.26.196:8080/jtwt/back/groupOrder/handleOrderDetail.do?groupOrderId=2
 
  原因:在ectable控件外边又多了一个form,因为ectable控件本身就会生成form,导致不能翻页(form 表单不能嵌套,这是html的一种规范和定义)
      解决方案:去掉外边的form 就行了
      
   1.6 在做前台的订单查询时【2012-3-13】


         错误:前台首页显示不完全,js报错,没有样式
         原因:在配置文件web.xml中配置了安全包的过滤器进行了拦截
         解决日期:【2012-3-14】
         解决方法:将下边这个配置注释掉
         <filter-mapping>
  <filter-name>securityFilter</filter-name>
  <url-pattern>/front/*</url-pattern>
     </filter-mapping>
  

分享到:
评论

相关推荐

    集团HR系统解决方案(详细)

    1.2. XX集团HR项目背景 5 第2.章 现状分析及建设思路 6 2.1. XX集团人力资源管理诊断及应对措施 6 2.1.1. 主要管理问题 6 2.1.2. 主要应对措施 6 2.2. XX集团HR建设思路 9 2.2.1. HR建设模式选择 9 2.2.2. HR建设...

    集团版本HR系统解决方案(超详细).docx

    1.2. XX集团HR项目背景 5 第2.章 现状分析及建设思路 6 2.1. XX集团人力资源管理诊断及应对措施 6 2.1.1. 主要管理问题 6 2.1.2. 主要应对措施 6 2.2. XX集团HR建设思路 9 2.2.1. HR建设模式选择 9 2.2.2. HR建设...

    华奥汽车销售集团网源码+使用说明+安装说明.rar

    源码说明: 全部项目源码都是经过测试校正后百分百成功运行。 SpringBoot 毕业设计,SpringBoot 课程设计,基于SpringBoot+Vue开发的,含有代码注释,新手也可看懂。ssm整合开发,小程序毕业设计、期末大作业、课程...

    (自适应手机端)响应式HTML5高新科技企业集团网站源码 信息产业技术网站pbootcms模板

    PbootCMS内核开发的网站模板,该模板适用于信息产业技术网站、企业集团网站等企业,当然其他行业也可以做,只需要把文字图片换成其他行业的即可; 自适应手机端,同一个后台,数据即时同步,简单适用!附带测试数据...

    MF00383-JQuery EasyUI开发权限管理源码.zip

    基于JQuery EasyUI开发的权限管理系统源码 注意:不带技术支持,有帮助文件,虚拟商品,发货不退,看好再拍。 开发语言 : C# 数据库 : SQL2012 开发工具 : VS2013 源码类型 : WebForm JQuery EasyUI,给人感觉非常...

    大气钢结构行业集团公司网站.rar

    大气钢结构行业集团公司网站.rar 源码介绍: 该模板属于企业通用类大气钢结构行业集团公司类企业都可使用。 这款模板使用范围极广,不仅仅局限于一类型的企业,你只需要把图片和产品内容。 换成你的,颜色都可以修改...

    pbootcms网站模板,pbootcms响应式企业通用网站模板

    PbootCMS内核开发的网站模板,该模板适用于集团网站模板、企业通用网站模板等企业,当然其他行业也可以做,只需要把文字图片换成其他行业的即可; 自适应手机端,同一个后台,数据即时同步,简单适用!附带测试数据...

    SAP新增自定义表,并设置维护界面

    输入创建的表名【注意,实际业务使用的自定义表,使用字母“Z"打头,开发测试创建表使用字母"Y"打头】,点击”创建“按钮 2、维护表字段信息 注意事项 1)字段数据类型,尽量使用SAP原有数据类型,如果没有对应数据...

    word源码java-BearKid.github.io:我的主页

    任职于集团IT研发中心网站开发部,主要负责在线招聘平台“智通人才网”的后端开发工作,参与了个人侧、企业侧、后台管理侧等多端多系统的优化与新功能开发。 侧重Java后端开发,涉略部分Web前端开发。参与或独立完成...

    某小型数字图书馆的设计与实现

    系统的开发是基于B/S结构,采用ASP程序设计语言及SQL Server 2000数据库进行开发;主要完成了系统的总体设计与规划、图书数据库的设计、系统页面的制作与美化、系统安全级别的定制和系统程序的编写、调试与修改等...

    南昌网上书城.rar

    其 他包括关于本站、联系我们、集团采购等独立页面,完全可以后台控制。 (2)页面格式 (3)用户数据 功能名说明 用户注册新用户注册只需要如下内容:用户名(可支持中文)、密码、密码确认、邮件地址四项。注册...

    sp短信平台软件资料

    运营商,电视台,报业集团,气象局, sp等等电信增值业务运营公司的专用 电信增值管理平台软件。 联系:QQ:84401116 电话:13950404552 许风 短信平台: 1、网关模块 1.1协议处理模块 完备的协议支持:支持最新的协议 ...

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    各浏览器开发商已经达成协议,对XML实行严格而挑剔的解析,任何细小的错误都会被报告。你可以将上面的myfile.xml修改一下,比如将改为,然后用IE5直接打开myfile.xml,会得到一个出错信息页面: &lt;title&gt;XML轻松...

Global site tag (gtag.js) - Google Analytics