package baigu.web;import java.util.List;import org.hibernate.Session;import baigu.HibernateSessionFactory;
import baigu.dao.GoodsDao;
import baigu.dao.impl.GoodsDaoImpl;
import baigu.model.Goods;import com.opensymphony.xwork2.ActionSupport;/**
* 测试
* @author lzm
*
*/
public class MyTestAction extends ActionSupport {
//测试
GoodsDao dao = new GoodsDaoImpl();
private Goods good; @Override
public String execute() throws Exception {
Session session = HibernateSessionFactory.getSession();
List<Goods> alist = null;
alist = session.createQuery("from Goods").list();
good = alist.get(0);
//返回成功
return SUCCESS;
} public Goods getGood() {
return good;
} public void setGood(Goods good) {
this.good = good;
}
}错误如下:
exception javax.servlet.ServletException: java.lang.NullPointerException
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:515)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:422)
root cause java.lang.NullPointerException
baigu.web.MyTestAction.execute(MyTestAction.java:37)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:404)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:267)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:221)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:150)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:48)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)数据库表明明有记录,但session.createQuery却返回空值??
如何解决?
import baigu.dao.GoodsDao;
import baigu.dao.impl.GoodsDaoImpl;
import baigu.model.Goods;import com.opensymphony.xwork2.ActionSupport;/**
* 测试
* @author lzm
*
*/
public class MyTestAction extends ActionSupport {
//测试
GoodsDao dao = new GoodsDaoImpl();
private Goods good; @Override
public String execute() throws Exception {
Session session = HibernateSessionFactory.getSession();
List<Goods> alist = null;
alist = session.createQuery("from Goods").list();
good = alist.get(0);
//返回成功
return SUCCESS;
} public Goods getGood() {
return good;
} public void setGood(Goods good) {
this.good = good;
}
}错误如下:
exception javax.servlet.ServletException: java.lang.NullPointerException
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:515)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:422)
root cause java.lang.NullPointerException
baigu.web.MyTestAction.execute(MyTestAction.java:37)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:404)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:267)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:221)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:150)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:48)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)数据库表明明有记录,但session.createQuery却返回空值??
如何解决?
我以前碰到的是手工在oracle里插入数据,但是忘记commit了。。
不知道楼主是不是这个原因
可能是我的hibernate配置的问题~我重建了项目,结果就正常了。
但具体配置错在那里?不知道