首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

java.lang.NullPointerException,该如何解决

2012-03-09 
java.lang.NullPointerException我在用Hibernate查询的时候,总是出现Exception in thread main java.lan

java.lang.NullPointerException
我在用Hibernate查询的时候,总是出现Exception in thread "main" java.lang.NullPointerException
at com.aptech.jb.HQLTest.testBaseQuery(HQLTest.java:24)
at com.aptech.jb.HQLTest.main(HQLTest.java:19)

源代码:HQLTest.java
package com.aptech.jb;

import java.util.Iterator;
import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;

import com.aptech.jb.dao.BaseHibDAO;
import com.aptech.jb.entity.TblFwxx;

public class HQLTest extends BaseHibDAO{

/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
new HQLTest().testBaseQuery();
}
public void testBaseQuery(){
Session session=super.getSession();
String sql="from TblFwxx";
Query query=session.createQuery(sql);
List list=query.list();
super.closeSession();
printFwxxList(list);
}
private void printFwxxList(List list) {
// TODO 自动生成方法存根
Iterator it=list.iterator();
while(it.hasNext()){
TblFwxx item=(TblFwxx) it.next();
System.out.println(item.getLxr()+"\t["+item.getDate()+"]"+item.getTitle()+"("+item.getZj()+")");
}
}

}
调试的时候,总是进入到Thred.class的时候出这个错误,
 public void setUncaughtExceptionHandler(UncaughtExceptionHandler eh) { 
  checkAccess();
  uncaughtExceptionHandler = eh;
  }
能够和数据库连接,但是为什么会是空那?菜鸟求解。

[解决办法]
HQLTest.java:24

看看HQLTest 的第 24
[解决办法]
Session session=super.getSession(); //所以这里super.getSession()返回了null,检查一下代码
String sql="from TblFwxx";
Query query=session.createQuery(sql); //看错误是这行报错,也就是session是null

[解决办法]
session是null值,可以不用super.getSession()
直接使用getSession()

热点排行