These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 10 posts ] 
Author Message
 Post subject: Stored Procedure Call gives NullPointerException
PostPosted: Fri Feb 24, 2006 7:00 am 
Newbie

Joined: Thu Feb 09, 2006 1:22 pm
Posts: 13
Location: Turkey
Hibernate version:3.1.1

Mapping documents:
<!-- FISSATIR -->
<class name="tr.com.usta.ITBMuhasebeOrtak.core.dvo.muhasebe.FisSatir" table="U_FISSATIR">
<id name="fissatirkod" column="FISSATIRKOD">
</id>
<property name="fiskod" column="FISKOD" type="long" not-null="true"/>
<property name="hesapkod" column="HESAPKOD" length="30" not-null="true"/>
<property name="detay" column="DETAY" length="1" not-null="true"/>
<property name="borc" column="BORC" type="double" not-null="true"/>
<property name="alacak" column="ALACAK" type="double" not-null="true"/>
<property name="dovizpbkod" column="DOVIZPBKOD" length="5" not-null="false"/>
<property name="dovizborc" type="double" column="DOVIZBORC" not-null="true"/>
<property name="dovizalacak" column="DOVIZALACAK" type="double" not-null="true"/>
<property name="aciklama" column="ACIKLAMA" length="500" not-null="false"/>
<property name="kurdeger" type="double" column="KURDEGER" not-null="true"/>
<property name="sirano" column="SIRANO" type="long" not-null="false"/>
<!-- P_FISSATIRASAGIAL -->
<sql-query name="P_FISSATIRASAGIAL_SP" callable = "true">
{[b]? = call P_FISSATIRASAGIAL(?)
}
</sql-query>

<!-- P_FISSATIRYUKARIAL -->
<sql-query name="P_FISSATIRYUKARIAL_SP" callable = "true">
{? = call P_FISSATIRYUKARIAL(?)}
</sql-query>
</class>
[/b]

Full stack trace of any exception that occurs:
java.lang.NullPointerException
at oracle.jdbc.ttc7.TTCAdapter.newTTCType(TTCAdapter.java:300)
at oracle.jdbc.ttc7.TTCAdapter.createNonPlsqlTTCColumnArray(TTCAdapter.j
ava:270)
at oracle.jdbc.ttc7.TTCAdapter.createNonPlsqlTTCDataSet(TTCAdapter.java:
231)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1934)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:114
1)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.ja
va:2149)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.jav
a:2032)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStateme
nt.java:2894)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePrepar
edStatement.java:608)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStat
ement.java:684)
at com.mchange.v2.c3p0.impl.NewProxyCallableStatement.execute(NewProxyCa
llableStatement.java:2966)
at j2src.tr.com.usta.ITBMuhasebeServer.hibernate.util.HibernateUtil.sp(H
ibernateUtil.java:180)
at j2src.tr.com.usta.ITBMuhasebeServer.servlets.ProcessorServlet.doJobAn
dSetResult(ProcessorServlet.java:107)
at j2src.tr.com.usta.ITBMuhasebeServer.servlets.ProcessorServlet.doPost(
ProcessorServlet.java:57)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:716)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:200)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:146)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:209)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:144)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)

at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:
2358)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:133)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatche
rValve.java:118)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:116)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:127)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)

at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:15
2)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ssConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java
:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:683)
at java.lang.Thread.run(Thread.java:534)


Name and version of the database you are using:Oracle 9.0.1

The preparer code is here :

Code:
   cs = theSession.connection().prepareCall(spName);
           initializeParameters(spList);
           cs.execute(); //Line 180 is here.Exception is thrown from here!
           cs.close();
           theSession.connection().commit();
           theSession.flush();
           finalizeSession(theSession);


The initiliazeParameters(spList) works like that to st parameters :

Code:
// Parameter setter for stored procedure!
    private void initializeParameters(List spList) throws Exception {
       if (spList != null && !spList.isEmpty()) {
          Object temp = null;
          int innerIndex = 1;
          // Setting out parameter...
          cs.registerOutParameter(innerIndex++, Types.NUMERIC);
          for (int i = 0;i<=spList.size() - 1;i++) {
             temp = (Object)spList.get(i);
             if (temp instanceof Long) {
                cs.setLong(innerIndex++, ((Long)temp).longValue());
                myLogger.setLevel(Level.INFO);
                myLogger.log("Parametre deger LONG -> " + ((Long)temp).longValue());
             } else if (temp instanceof Integer) {
                cs.setInt(innerIndex++, ((Integer)temp).intValue());
                myLogger.setLevel(Level.INFO);
                myLogger.log("Parametre deger INTEGER -> " + ((Integer)temp).intValue());
             } else if (temp instanceof Double) {
                cs.setDouble(innerIndex++, ((Double)temp).doubleValue());
                myLogger.setLevel(Level.INFO);
                myLogger.log("Parametre deger DOUBLE -> " + ((Double)temp).doubleValue());
             } else if (temp instanceof String) {
                cs.setString(innerIndex++, ((String)temp));
                myLogger.setLevel(Level.INFO);
                myLogger.log("Parametre deger STRING -> " + ((String)temp));
             } else if (temp instanceof Boolean) {
                cs.setBoolean(innerIndex++, ((Boolean)temp).booleanValue());
                myLogger.setLevel(Level.INFO);
                myLogger.log("Parametre deger BOOLEAN -> " + ((Boolean)temp).booleanValue());
             }
          }
       }
    }


So would you please help me?

_________________
eRoHaN


Top
 Profile  
 
 Post subject:
PostPosted: Fri Feb 24, 2006 8:13 am 
Hibernate Team
Hibernate Team

Joined: Tue Aug 26, 2003 6:10 am
Posts: 8615
Location: Neuchatel, Switzerland (Danish)
why are you asking the hibernate list about jdbc and oracle level only code ?

_________________
Max
Don't forget to rate


Top
 Profile  
 
 Post subject:
PostPosted: Fri Feb 24, 2006 8:42 am 
Newbie

Joined: Thu Feb 09, 2006 1:22 pm
Posts: 13
Location: Turkey
First of all i want to say that i have just solved the problem. Problem is about not to call the stored procedure as " <may_be(?)> call <SP_NAME(?, ? , ...)>" this.

Although i define the calling style like that above in my mapper document hibernate doesn't see it so i give it hard coded and it works.

And Max; you man as a hibernate member, hasn't given any answer about getting an element which aggregates another element that must be filled through a special HQL criteria.

You can read the details from my post about "Many-to-one association gives NullPointerException". May be it is not supported i do not know but if you will be able to give an answer, this will be good!

_________________
eRoHaN


Top
 Profile  
 
 Post subject:
PostPosted: Fri Feb 24, 2006 8:48 am 
Hibernate Team
Hibernate Team

Joined: Tue Aug 26, 2003 6:10 am
Posts: 8615
Location: Neuchatel, Switzerland (Danish)
sorry, but i do not understand what you are saying.

_________________
Max
Don't forget to rate


Top
 Profile  
 
 Post subject:
PostPosted: Fri Feb 24, 2006 8:53 am 
Newbie

Joined: Thu Feb 09, 2006 1:22 pm
Posts: 13
Location: Turkey
1- Can you examine this topic: http://forum.hibernate.org/viewtopic.php?t=955899

Thanks

_________________
eRoHaN


Top
 Profile  
 
 Post subject:
PostPosted: Fri Feb 24, 2006 8:55 am 
Hibernate Team
Hibernate Team

Joined: Tue Aug 26, 2003 6:10 am
Posts: 8615
Location: Neuchatel, Switzerland (Danish)
what does that case has to do with stored procedures ?

_________________
Max
Don't forget to rate


Top
 Profile  
 
 Post subject:
PostPosted: Fri Feb 24, 2006 9:02 am 
Newbie

Joined: Thu Feb 09, 2006 1:22 pm
Posts: 13
Location: Turkey
The link is not related about the 'StoredProcedure' problem. It is another problem about association.

_________________
eRoHaN


Top
 Profile  
 
 Post subject:
PostPosted: Fri Feb 24, 2006 9:17 am 
Hibernate Team
Hibernate Team

Joined: Tue Aug 26, 2003 6:10 am
Posts: 8615
Location: Neuchatel, Switzerland (Danish)
so please seperate those discussions if they are not related.

_________________
Max
Don't forget to rate


Top
 Profile  
 
 Post subject:
PostPosted: Fri Feb 09, 2007 5:23 am 
Newbie

Joined: Fri Feb 09, 2007 4:59 am
Posts: 2
erohan wrote:
First of all i want to say that i have just solved the problem. Problem is about not to call the stored procedure as " <may_be(?)> call <SP_NAME(?, ? , ...)>" this.

Although i define the calling style like that above in my mapper document hibernate doesn't see it so i give it hard coded and it works.

And Max; you man as a hibernate member, hasn't given any answer about getting an element which aggregates another element that must be filled through a special HQL criteria.

You can read the details from my post about "Many-to-one association gives NullPointerException". May be it is not supported i do not know but if you will be able to give an answer, this will be good!



Hi erohan,

I hope you can provide me some guidelines. I too had the similar problem. My objective is to handle large volume of data. To do this, I like to apply pagination. i.e. rather than loading the whole bunch of rows (from a select query) into memory, I would like to pass some paramers to hibernate Query, and show results page by page. I'm using hibernate with SP, spring and extrememcomponents.

Here are my codes:
[in the action class]

Context context = new HttpServletRequestContext(getRequest());
LimitFactory limitFactory = new TableLimitFactory(context);
Limit limit = new TableLimit(limitFactory);
metadataList = metadataManager.getMetadatas(metadataWo, limit.getPage()); // The obejctive is to view this metadatalist into JSP page


[in the service layer]

public List getMetadatas(final MetadataWo metadataWo, int pageNo) {
final int defaultRows = 50;
int startRow = (pageNo - 1) * defaultRows ;
return dao.getMetadatas(metadataWo, startRow, defaultRows);
}



[in the dao layer]

Query q = null;

q = session.getNamedQuery("getMetadatasSP");

q.setString(0, metadataWo.getPsId()).
setString(1,metadataWo.getMetadataId()).
setString(2,metadataWo.getDocumentName()).
setString(3,metadataWo.getLocationCode()).
setString(4,metaDataObjectType).
setString(5,metadataWo.getUpdatedBy()).
setString(6,metadataWo.getBuCode()).
setString(7,metadataWo.getGxpRelevance()).
setString(8,metadataWo.getDetailsGxpAssessment()).
setString(9,metadataWo.getBuRelevance()).
setString(10,metadataWo.getBuCriticalityAssessment()).
setString(11, metadataWo.getFailureConsequence()).
setString(12, metadataWo.getDetailsFailureConsequence()).
setString(13, metadataWo.getTestingRequirement()).
setString(14,metadataWo.getDetailsTestingRequirement()).
setString(15,metadataWo.getTestPerformedApproved()).
setString(16, metadataWo.getSystemType()).
setString(17, metadataWo.getRelatedCoreItem()).
setString(18, metadataWo.getStatusName()).
setString(19, metadataWo.getCrId()).
setString(20,metadataWo.getIsSearchForExport()).
setString(21, metadataWo.getFromDay()).
setString(22, metadataWo.getFromMonth()).
setString(23, metadataWo.getFromYear()).
setString(24,metadataWo.getToDay()).
setString(25,metadataWo.getToMonth()).
setString(26,metadataWo.getToYear());

q.setFirstResult(startRow);
q.setMaxResults(endRow);
result = q.list(); // AT THIS STAGE, THE APPLICATION GETS THE ERROR. CAUGHT BY A TRY-CATCH BLOCK




As the tomcat console, the following error message is generated:

java.lang.NullPointerException
at oracle.jdbc.ttc7.TTCAdapter.newTTCType(TTCAdapter.java:300)
at oracle.jdbc.ttc7.TTCAdapter.createNonPlsqlTTCColumnArray(TTCAdapter.java:270)
at oracle.jdbc.ttc7.TTCAdapter.createNonPlsqlTTCDataSet(TTCAdapter.java:231)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1937)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:880)
at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2516)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2850)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:609)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:685)
at org.hibernate.dialect.Oracle9Dialect.getResultSet(Oracle9Dialect.java:278)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:146)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1666)
at org.hibernate.loader.Loader.doQuery(Loader.java:662)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
at org.hibernate.loader.Loader.doList(Loader.java:2145)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
at org.hibernate.loader.Loader.list(Loader.java:2024)
at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:111)
at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1655)
at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)
at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:164)
at com.mh.pep.dao.MetadataDaoHibernate$2.doInHibernate(MetadataDaoHibernate.java:1216)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:362)
at org.springframework.orm.hibernate3.HibernateTemplate.executeFind(HibernateTemplate.java:332)
at com.mh.pep.dao.MetadataDaoHibernate.getMetadatas(MetadataDaoHibernate.java:1136)
at com.mh.pep.service.MetadataManagerImpl.getMetadatas(MetadataManagerImpl.java:1003)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:280)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:187)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:154)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:210)
at $Proxy5.getMetadatas(Unknown Source)
at com.mh.pep.webapp.action.MetadataAction.searchList(MetadataAction.java:748)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:360)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:228)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:202)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:177)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:115)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200)
at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:123)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.intercept(ParametersInterceptor.java:147)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200)
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:105)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200)
at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:204)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200)
at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:74)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200)
at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:115)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200)
at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:143)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200)
at com.opensymphony.xwork2.interceptor.PrepareInterceptor.intercept(PrepareInterceptor.java:115)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200)
at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:156)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200)



.....


Can you suggest something?

_________________
M. M. Islam Chisty


Top
 Profile  
 
 Post subject:
PostPosted: Fri Feb 09, 2007 6:15 am 
Hibernate Team
Hibernate Team

Joined: Tue Aug 26, 2003 6:10 am
Posts: 8615
Location: Neuchatel, Switzerland (Danish)
i do not think paging and stored procedures goes hand in hand.

_________________
Max
Don't forget to rate


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 10 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.