나는 많은 양의 데이터를 가져 오는 Hiberante 네이티브 질의를 가지고있다. 지금까지는 딸꾹질없이 작동했지만 특정 데이터의 이유로 어떤 예외가 발생했습니다. 어떻게해야할까요?네이티브 질의에 대한 Hibernate 예외
내 기본 쿼리 형식이다 :
Query query = entityManager.createNativeQuery(sql);
query.setParameter(1, foo);
List<Object[]> results = query.getResultList();
실제 쿼리는 내부 두 개의 결합으로 구성되어, 다수의 왼쪽 외부 조인하는 경우 세 열의에 의해 조건 및 순서. 그것은 SQL 함수를 호출하지 않습니다. 그것은 큰 쿼리이기 때문에 인덱스를 사용합니다. 이 문제는 MySQL 5.5를 사용하는 Hibernate 4 베타 5 및 4.1.1에서도 발생했습니다.
다른 쿼리도 있지만 예외는 해당 네이티브 쿼리에 대해 query.getResultList가 호출 된 순간과 직접 관련이 있습니다. 그것은 Hibernate는 또한 다음 다른 쿼리 실행을 강제로 일 수 있었다 (때문에 게으름 또는 뭔가 다른?)
Caused by: java.lang.NullPointerException
at org.hibernate.engine.jdbc.internal.proxy.ResultSetProxyHandler.getJdbcServices(ResultSetProxyHandler.java:57) [hibernate-core-4.0.0.Beta5.jar:4.0.0.Beta5]
at org.hibernate.engine.jdbc.internal.proxy.AbstractResultSetProxyHandler.continueInvocation(AbstractResultSetProxyHandler.java:110) [hibernate-core-4.0.0.Beta5.jar:4.0.0.Beta5]
at org.hibernate.engine.jdbc.internal.proxy.AbstractProxyHandler.invoke(AbstractProxyHandler.java:80) [hibernate-core-4.0.0.Beta5.jar:4.0.0.Beta5]
at $Proxy305.wasNull(Unknown Source) at org.hibernate.type.descriptor.sql.BasicExtractor.extract(BasicExtractor.java:66) [hibernate-core-4.0.0.Beta5.jar:4.0.0.Beta5]
at org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:269) [hibernate-core-4.0.0.Beta5.jar:4.0.0.Beta5]
at org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:265) [hibernate-core-4.0.0.Beta5.jar:4.0.0.Beta5]
at org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:243) [hibernate-core-4.0.0.Beta5.jar:4.0.0.Beta5]
at org.hibernate.loader.custom.CustomLoader$ScalarResultColumnProcessor.extract(CustomLoader.java:549) [hibernate-core-4.0.0.Beta5.jar:4.0.0.Beta5]
at org.hibernate.loader.custom.CustomLoader$ResultRowProcessor.buildResultRow(CustomLoader.java:499) [hibernate-core-4.0.0.Beta5.jar:4.0.0.Beta5]
at org.hibernate.loader.custom.CustomLoader$ResultRowProcessor.buildResultRow(CustomLoader.java:478) [hibernate-core-4.0.0.Beta5.jar:4.0.0.Beta5]
at org.hibernate.loader.custom.CustomLoader.getResultColumnOrRow(CustomLoader.java:375) [hibernate-core-4.0.0.Beta5.jar:4.0.0.Beta5]
at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:668) [hibernate-core-4.0.0.Beta5.jar:4.0.0.Beta5]
at org.hibernate.loader.Loader.doQuery(Loader.java:860) [hibernate-core-4.0.0.Beta5.jar:4.0.0.Beta5]
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:289) [hibernate-core-4.0.0.Beta5.jar:4.0.0.Beta5]
at org.hibernate.loader.Loader.doList(Loader.java:2449) [hibernate-core-4.0.0.Beta5.jar:4.0.0.Beta5]
at org.hibernate.loader.Loader.doList(Loader.java:2435) [hibernate-core-4.0.0.Beta5.jar:4.0.0.Beta5]
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2276) [hibernate-core-4.0.0.Beta5.jar:4.0.0.Beta5]
at org.hibernate.loader.Loader.list(Loader.java:2271) [hibernate-core-4.0.0.Beta5.jar:4.0.0.Beta5]
at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:331) [hibernate-core-4.0.0.Beta5.jar:4.0.0.Beta5]
at org.hibernate.internal.SessionImpl.listCustomQuery(SessionImpl.java:1571) [hibernate-core-4.0.0.Beta5.jar:4.0.0.Beta5]
at org.hibernate.internal.AbstractSessionImpl.list(AbstractSessionImpl.java:224) [hibernate-core-4.0.0.Beta5.jar:4.0.0.Beta5]
at org.hibernate.internal.SQLQueryImpl.list(SQLQueryImpl.java:156) [hibernate-core-4.0.0.Beta5.jar:4.0.0.Beta5]
at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:252) [hibernate-entitymanager-4.0.0.Beta5.jar:4.0.0.Beta5]
at com.foo.bar.getResults(MyResultHandler.java:114) [classes:]
at sun.reflect.GeneratedMethodAccessor16978.invoke(Unknown Source) [:1.7.0]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [:1.7.0]
at java.lang.reflect.Method.invoke(Method.java:601) [:1.7.0]
at org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:51)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287) [jboss-invocation-1.1.0.Final.jar:1.1.0.Final]
at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:370) [jboss-invocation-1.1.0.Final.jar:1.1.0.Final]
at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:114) [jboss-as-weld-7.0.1.Final.jar:7.0.1.Final]
at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:122) [jboss-as-weld-7.0.1.Final.jar:7.0.1.Final]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287) [jboss-invocation-1.1.0.Final.jar:1.1.0.Final]
at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53) [jboss-invocation-1.1.0.Final.jar:1.1.0.Final]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287) [jboss-invocation-1.1.0.Final.jar:1.1.0.Final]
at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:45) [jboss-as-jpa-7.0.1.Final.jar:7.0.1.Final]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287) [jboss-invocation-1.1.0.Final.jar:1.1.0.Final]
at org.jboss.as.ejb3.component.stateful.StatefulSessionSynchronizationInterceptor.processInvocation(StatefulSessionSynchronizationInterceptor.java:132)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287) [jboss-invocation-1.1.0.Final.jar:1.1.0.Final]
at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:44)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287) [jboss-invocation-1.1.0.Final.jar:1.1.0.Final]
at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287) [jboss-invocation-1.1.0.Final.jar:1.1.0.Final]
at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21) [jboss-invocation-1.1.0.Final.jar:1.1.0.Final]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287) [jboss-invocation-1.1.0.Final.jar:1.1.0.Final]
at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.0.Final.jar:1.1.0.Final]
at org.jboss.as.ee.component.ViewDescription$ComponentDispatcherInterceptor.processInvocation(ViewDescription.java:202)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287) [jboss-invocation-1.1.0.Final.jar:1.1.0.Final]
at org.jboss.as.jpa.interceptor.SFSBInvocationInterceptor.processInvocation(SFSBInvocationInterceptor.java:58) [jboss-as-jpa-7.0.1.Final.jar:7.0.1.Final]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287) [jboss-invocation-1.1.0.Final.jar:1.1.0.Final]
at org.jboss.as.ejb3.component.stateful.StatefulComponentInstanceInterceptor.processInvocation(StatefulComponentInstanceInterceptor.java:61)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287) [jboss-invocation-1.1.0.Final.jar:1.1.0.Final]
at org.jboss.as.ejb3.component.session.SessionInvocationContextInterceptor$CustomSessionInvocationContext.proceed(SessionInvocationContextInterceptor.java:126)
at org.jboss.ejb3.tx2.impl.CMTTxInterceptor.invokeInCallerTx(CMTTxInterceptor.java:233)
... 93 more
좀 더 자세히 설명해 주시겠습니까? 어떻게 더 조사해야합니까? 나는 원시적 인 부분을 기대하는 것을 이해하지 못한다. – egaga