2012-08-10 6 views
1
questions=dao.getNamedQueryResultList("getUnansweredQuestionsByCategory", new Object[]{strUser}); 



    for(Question selectedResumes:questions) { 
      //do something with the SelectedResumes object 
     System.out.println("Unanswered::"+selectedResumes.getQuestion()); 
    } 

================ ==================================== -java.lang.ClassCastException : [Ljava.lang.Object; com.sx.mcqs.model로 캐스트 할 수 없습니다.

다음과 같은 오류가오고있다 :

java.lang.ClassCastException : [Ljava.lang.Object; com.sx.mcqs.service.QuestionService $$ FastClassByCGLIB $에서 com.sx.mcqs.service.QuestionService.findRelatedQuestionsGame (QuestionService.java:142) 에서 com.sx.mcqs.model.Question 캐스트 할 수없는 $의 cd78275c.invoke() org.springframework.aop.framework.Cglib2AopProxy $ CglibMethodInvocation.invokeJoinpoint (Cglib2AopProxy.java:689) 에서 net.sf.cglib.proxy.MethodProxy.invoke (MethodProxy.java:191)에서 에서 에서 org.springframework.aop.framework.ReflectiveMethodInvocation.proceed org.springframework.transaction.interceptor.TransactionInterceptor.invoke (TransactionInterceptor.java:110)에서 (ReflectiveMethodInvocation.java:150) org.springframework.aop.framework.Cglib2AopProxy $ DynamicAdvisedInterceptor.intercept (Cglib2AopProxy.java:622) com.sx.mcqs에서 에서 org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:172) . 일에서 sun.reflect.NativeMethodAccessorImpl.invoke0 (기본 방법)에서 com.sx.mcqs.controller.QuestionController.selectcategory (QuestionController.java:182) 에서 service.QuestionService $$ EnhancerByCGLIB $$ f6d3276_2.findRelatedQuestionsGame() .reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) at java .lang.reflect.Method.invoke org.springframework.web.method.support.InvocableHandlerMethod.invoke (InvocableHandlerMethod.java:212)에서 (Method.java:597) org.springframework.web.method.support에서 . InvocableHandlerMethod.invokeForRequest org.springframework.web.servlet.mvc에서 org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle (ServletInvocableHandlerMethod.java:96) 에서 (InvocableHandlerMethod.java:126) . (RequestMappingHandlerAdapter.java : 617) 에서 org.springframework.web.servlet.DispatcherServlet.doDispatch (DispatcherServlet.java:900) 에서 org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle (AbstractHandlerMethodAdapter.java:80) 에서 1,515,조직도 에서 .springframework.web.servlet.DispatcherServlet.doService org.springframework.web.servlet.FrameworkServlet.processRequest (FrameworkServlet.java:882)에서 (DispatcherServlet.java:827) org.springframework.web.servlet.FrameworkServlet .doGet (FrameworkServlet.java:778) (javax.servlet.http.HttpServlet.service (HttpServlet.java:621) ) javax.servlet.http.HttpServlet.service (HttpServlet.java:722) at응용 프로그램 필터 타이머.자바 : 210) org.springframework.web.filter.ShallowEtagHeaderFilter.doFilterInternal (ShallowEtagHeaderFilter.java:58) 에서 org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:76 AT)에서 조직 .apache.catalina.core.ApplicationFilterChain.internalDoFilter org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:210) com.sx.mcqs.filter.GzipFilter에서 에서 (ApplicationFilterChain.java:243) . doFilter (GzipFilter.java:86) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFi lterChain.doFilter org.springframework.web.filter.OncePerRequestFilter.doFilter에서 org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal (OpenEntityManagerInViewFilter.java:147)에서 (ApplicationFilterChain.java:210) (OncePerRequestFilter. 자바 76) org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:210) 에서 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:243) 에서의 COM .sx.mcqs.filter.UserSessionFilter.doFilter (UserSessionFilter.java:62) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter ( org.apache.catalina.core.ApplicationFilterChain.doFilter org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:225에서 (ApplicationFilterChain.java:210) ) 에서의 ApplicationFilterChain.java:243) org.apache.catalina.core에서 org.apache.catalina.core.StandardContextValve.invoke org.apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase.java:472)에서 (StandardContextValve.java:169) .StandardHostValve.invoke (StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:98) at org.apache.catalina.connector에서 91,363,210 org.apache.catalina.valves.AccessLogValve.invoke org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:118)에서 (AccessLogValve.java:927) org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process에서 .CoyoteAdapter.service org.apache.coyote.http11.AbstractHttp11Processor.process (AbstractHttp11Processor.java:999)에서 (CoyoteAdapter.java:407) (AbstractProtocol.java : 565) java.util.concurrent.ThreadPoolExecutor $ Worker.runTask에서 org.apache.tomcat.util.net.JIoEndpoint $ SocketProcessor.run (JIoEndpoint.java:309) 에서 (ThreadPoolExecutor.java:886) java.lang.Thread.run에서 java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:908) (Thread.java:619)에서 는

답변

3

코드는 위의 명명 된 쿼리를 가정 질문 목록을 반환하지만 객체 배열을 반환합니다.질문의 목록을 반환하는 쿼리가

select question from Question question ... 

과 같아야하지만 쿼리는 아마 실행 된 쿼리를 보지 않고

select question.foo, question.bar, ... 

처럼, 그것은 더 자세한 대답을하기 어렵다 보인다.

+0

@NamedQuery 지연에 대한 –

+0

죄송합니다 (이름 = "getUnansweredQuestionsByCategory"쿼리 = "질문 Q에서 q.id SELECT는 외부 q.internalUserAnswers UA는 q.internalQuestionCategories 품질 관리 qc.category.id =를? 조인 왼쪽"). 나는 휴가 중이 었어. Yous 주석이 내 대답을 확인합니다. 질문 ID를 선택하고 있습니다. 질문 없습니다. 질문은 "질문 q에서 q 선택"이어야합니다. –

관련 문제