2013-02-14 3 views
1

글쎄 내 클래스 목록에 객체 목록을 캐스팅하려고하는데 위 오류가 발생합니다 (아래 전체 오류 정보). 나는 주위를 둘러 보았고 제안을 시도했지만 잘못된 것을 볼 수는 없다. POJO 클래스에 중단 점을 넣으려고했지만 작동하지 않았습니다. 웹 애플리케이션에서는 중단 점이 작동하지 않는다고 생각합니다.java.lang.IllegalArgumentException : setResultTransformer (최대 절전 모드)를 사용하는 인수 유형 불일치

내가 검색하는 필드 (instance_id)는 Oracle 11GR2 DB에서 번호로 선언됩니다.

도와 주시겠습니까?

내 기본 쿼리 (내 HBM 파일에 정의와 내가 함께하고 수익 스칼라없이 시도했다) 내 자바 코드

List<EventSession> eventSessionList1 = sessionFactory.getCurrentSession() 
         .getNamedQuery("getEventSessionsForFab1") 
         .setParameter("eventName", "%" + (lovList.size() > 0 ? lovList.get(0).getCode().toLowerCase() : "general") + "%") 
         .setResultTransformer(Transformers.aliasToBean(EventSession.class)) 
         .list(); 

내 자바

<sql-query name="getEventSessionsForFab1"> 
    <return-scalar column="instanceId" type="long" /> 

    <![CDATA[select eventInstance.instance_id as "instanceId" from events event, event_instances eventInstance where event.event_id = eventInstance.event_id and eventInstance.start_date_time > sysdate and (eventInstance.register_cutoff_date >= sysdate or eventInstance.register_cutoff_date is null) and (lower(event.event_name) like :eventName or event.event_id = 1)]]> 
</sql-query> 

클래스 (여기에는 더 많은 필드가 있었지만 테스트를 위해 1 개만 남았습니다)

멀리 가야 오류를 정수로 긴에서 리턴 스칼라을 변경하면
package com.myapps.issu.models.database; 

public class EventSession { 
    private Integer instanceId; 

    public Integer getInstanceId() { 
     return instanceId; 
    } 
    public void setInstanceId(Integer instanceId) { 
     this.instanceId = instanceId; 
    } 

} 

전체 오류 메시지 이클립스 콘솔에 표시되는

Feb 14, 2013 5:01:06 PM org.apache.catalina.core.StandardWrapperValve invoke 
SEVERE: Servlet.service() for servlet [spring] in context with path [/issu] threw exception [Request processing failed; nested exception is org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of com.myapps.issu.models.database.EventSession.instanceId] with root cause 
java.lang.IllegalArgumentException: argument type mismatch 
    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.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:65) 
    at org.hibernate.transform.AliasToBeanResultTransformer.transformTuple(AliasToBeanResultTransformer.java:95) 
    at org.hibernate.hql.internal.HolderInstantiator.instantiate(HolderInstantiator.java:95) 
    at org.hibernate.loader.custom.CustomLoader.getResultList(CustomLoader.java:395) 
    at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2227) 
    at org.hibernate.loader.Loader.list(Loader.java:2222) 
    at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:331) 
    at org.hibernate.internal.SessionImpl.listCustomQuery(SessionImpl.java:1783) 
    at org.hibernate.internal.AbstractSessionImpl.list(AbstractSessionImpl.java:231) 
    at org.hibernate.internal.SQLQueryImpl.list(SQLQueryImpl.java:156) 
    at com.myapps.issu.dao.IssuDaoImpl.getEventSessionsForFab(IssuDaoImpl.java:122) 
    at com.myapps.issu.services.IssuServiceImpl.getEventSessionsForFab(IssuServiceImpl.java:125) 
    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.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319) 
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) 
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) 
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110) 
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) 
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) 
    at $Proxy13.getEventSessionsForFab(Unknown Source) 
    at com.myapps.issu.controllers.IssuController.getEventSessions(IssuController.java:120) 
    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.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:219) 
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132) 
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:100) 
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:604) 
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:565) 
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80) 
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923) 
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852) 
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) 
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
    at java.lang.Thread.run(Thread.java:680) 

답변

2

나는 위의 코드를 바라 보았다.

<sql-query name="getEventSessionsForFab1"> 
    <return-scalar column="instanceId" type="integer" /> 
    ... 

희망이 있습니다.

관련 문제