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