Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用hibernate本机sql查询处理空指针异常?_Java_Sql_Hibernate_Spring Mvc - Fatal编程技术网

Java 如何使用hibernate本机sql查询处理空指针异常?

Java 如何使用hibernate本机sql查询处理空指针异常?,java,sql,hibernate,spring-mvc,Java,Sql,Hibernate,Spring Mvc,我在五列上有一个select查询,其中一列可能包含值,也可能不包含值。由于hibernate的原生sql查询总是返回一个对象,然后需要使用toString()进行转换,因此遇到空指针异常。我怎样才能避免这种情况 下面是代码片段 sql="SELECT * FROM (SELECT t.*,ROWNUM r FROM("+sqlQuery+") t) WHERE r BETWEEN " + intStartIndex + " AND " + intEndIndex; Query

我在五列上有一个select查询,其中一列可能包含值,也可能不包含值。由于hibernate的原生sql查询总是返回一个对象,然后需要使用toString()进行转换,因此遇到空指针异常。我怎样才能避免这种情况

下面是代码片段

   sql="SELECT * FROM (SELECT t.*,ROWNUM r FROM("+sqlQuery+") t)  WHERE r  BETWEEN " + intStartIndex + " AND " + intEndIndex;
    Query query=session.createSQLQuery(sql);  
    ArrayList<Object[]> listResult= query.list();
    return listResult;


 for(int j=0;j<arrColumnMetaData.size();j++){  //  where arrColumnMetaData stores the list returned 
   int k-0;
             Object obj[]=(Object[])arrColumnMetaData.get(j);
              childBeanObj.setNumCaptureCode(obj[k++].toString());
              childBeanObj.setTxtFileName(obj[k++].toString());
              childBeanObj.setTxtFileStatus(obj[k++].toString());
              childBeanObj.setTxtDocumentCode(obj[k++].toString()); 
}
sql=“SELECT*FROM(SELECT t.*,ROWNUM r FROM(“+sqlQuery+”)t),其中r介于“+intStartIndex+”和“+intEndIndex”之间;
Query Query=session.createSQLQuery(sql);
ArrayList listResult=query.list();
返回列表结果;

对于(int j=0;j0)您必须进行一个或多个空检查。您尝试了什么,如何运行查询,查询是什么,为什么您认为会出现空指针异常,stacktrace说什么……您想让我继续吗?@JamesMassey`您想让我继续吗?`-是的,我尝试了这个sqlQuery.list(),然后迭代结果。此处的“sqlQuery”是一个对多个列执行的select查询,其中一个列不包含值,从而导致空指针。我的意思是,发布有关您正在执行的操作、正在使用的操作以及收到的任何错误消息的特定详细信息。没有更多信息,我们无法修复您的问题
    if (obj[k+1] != null){ // check for null, not null then .toString() method

       childBeanObj.setNumCaptureCode(obj[k++].toString());
       childBeanObj.setTxtFileName(obj[k++].toString());
       childBeanObj.setTxtFileStatus(obj[k++].toString());
       childBeanObj.setTxtDocumentCode(obj[k++].toString()); 
    }