【发布时间】:2020-11-19 05:21:50
【问题描述】:
public java.util.Collection findEstablishmentProfessionalsByUsernameEstId(
java.lang.String espUseUsername, java.lang.Integer espEstId, Integer limit) throws GenericBusinessException {
try {
ArrayList paramList = new ArrayList();
List valueList = new ArrayList();
paramList.add(new String("espEstId"));
valueList.add(espEstId);
paramList.add(new String("espUseUsername"));
valueList.add(espUseUsername);
String queryString = "from "
+ EstablishmentProfessionalsBean.class.getName()
+ " e where e.espEstId = :espEstId and e.espRecordStatus='approved' and e.espUseUsername=:espUseUsername and e.espShow=1";
// Add a an order by on all primary keys to assure reproducable
// results.
queryString += " order by e.espSurname ASC,e.espInitials ASC,e.espExtClinicName ASC";
if(limit != null && limit.intValue() > 0){
paramList.add(new String("limit"));
valueList.add(limit);
}
String params [] = (String []) paramList.toArray (new String [paramList.size ()]);
List list = hibernateTemplate.findByNamedParam(queryString,params, valueList.toArray());
return list;
} catch (DataAccessException e) {
log.error("DataAccessException", e);
throw new GenericBusinessException(e);
} finally {
log.debug("finished findEstablishmentProfessionalsByUsernameEstId((java.lang.String espUseUsername, java.lang.Integer espEstId, Integer limit)");
}
}
following are the stack trace
堆栈跟踪
com.riomed.cellma.exception.GenericBusinessException: org.springframework.orm.hibernate3.HibernateQueryException:不能 定位命名参数 [limit];嵌套异常是 org.hibernate.QueryParameterException:找不到命名的 参数 [限制] 在 com.riomed.cellma.session.CellmaFacade.findEstablishmentProfessionalsByUsernameEstId(CellmaFacade.java:30866) 在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 方法)在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.base/java.lang.reflect.Method.invoke(Method.java:566) 在 org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310) 在 org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) 在 org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) 在 org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) 在 org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) 在 org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) 在 com.sun.proxy.$Proxy321.findEstablishmentProfessionalsByUsernameEstId(未知 来源)在 com.riomed.cellma.cellma.util.GeneralWebLayerUtils.addAjaxExtraDetailsEntryForQucId(GeneralWebLayerUtils.java:4252) 在 com.riomed.cellma.cellma.util.AssessmentsSaveQuestionsUtils.saveReferralRecordForQuestionAnswered(AssessmentsSaveQuestionsUtils.java:178) 在 com.riomed.cellma.actions.SaveQuestionsResultAction.execute(SaveQuestionsResultAction.java:239) 在 org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421) 在 org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226) 在 org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164) 在 org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:660) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:741) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在 filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:167) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在 org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) 在 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在 com.riomed.cellma.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:128) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在 com.riomed.cellma.filter.SensitiveDataCheckFilter.doFilter(SensitiveDataCheckFilter.java:1944) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在 com.riomed.cellma.filter.CSRFFilter.doFilter(CSRFFilter.java:1726) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在 com.riomed.cellma.filter.XSSFilter.doFilter(XSSFilter.java:2301) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在 com.riomed.cellma.filter.PatientSelectionCheckFilter.doFilter(PatientSelectionCheckFilter.java:416) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在 com.riomed.cellma.filter.AuthorisationFilter.doFilter(AuthorisationFilter.java:1598) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在 com.riomed.cellma.filter.AuthenticationFilter.doFilter(AuthenticationFilter.java:287) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在 com.riomed.cellma.filter.MessageDisplayFilter.doFilter(MessageDisplayFilter.java:138) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在 org.tukey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176) 在 org.tukey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) 在 org.tukey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) 在 org.tukey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在 net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:239) 在 net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:215) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) 在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:526) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) 在 org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) 在 org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:396) 在 org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) 在 org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:860) 在 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1591) 在 org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 在 java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 在 java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 在 org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 在 java.base/java.lang.Thread.run(Thread.java:834) 引起: org.springframework.orm.hibernate3.HibernateQueryException:不能 定位命名参数 [limit];嵌套异常是 org.hibernate.QueryParameterException:找不到命名的 参数 [限制] 在 org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:642) 在 org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412) 在 org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:424) 在 org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374) 在 org.springframework.orm.hibernate3.HibernateTemplate.findByNamedParam(HibernateTemplate.java:943) 在 com.riomed.cellma.session.CellmaFacade.findEstablishmentProfessionalsByUsernameEstId(CellmaFacade.java:30862) ... 83 更多原因:org.hibernate.QueryParameterException:可以 未将命名参数 [limit] 定位在 org.hibernate.engine.query.ParameterMetadata.getNamedParameterDescriptor(ParameterMetadata.java:75) 在 org.hibernate.engine.query.ParameterMetadata.getNamedParameterExpectedType(ParameterMetadata.java:81) 在 org.hibernate.impl.AbstractQueryImpl.determineType(AbstractQueryImpl.java:413) 在 org.hibernate.impl.AbstractQueryImpl.setParameter(AbstractQueryImpl.java:383) 在 org.springframework.orm.hibernate3.HibernateTemplate.applyNamedParameterToQuery(HibernateTemplate.java:1253) 在 org.springframework.orm.hibernate3.HibernateTemplate$31.doInHibernate(HibernateTemplate.java:949) 在 org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419) ... 86 更多
【问题讨论】:
-
在此处发布错误堆栈跟踪
-
请检查我是否添加了堆栈跟踪