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

时间:2014-05-30 05:46:04

标签: 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 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()); 
}

我正在做这样的事情..请告诉我这是否是正确的方法或建议你是否有更好的方法。

1 个答案:

答案 0 :(得分:0)

    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()); 
    }