高手帮帮忙,感谢!hibernate 查询 发生 java.lang.NullPointerException
在建产一对多关系时a.hbm.xml<setname="subitems"inverse="true"cascade="all"table="subitem"><key>...
在建产一对多关系时
a.hbm.xml
<set name="subitems" inverse="true" cascade="all" table="subitem" >
<key>
<column name="itemid" />
</key>
<one-to-many class="org.lxh.myzngt.vo.Subitem" />
</set>
b.hbm.xml
<many-to-one name="item" class="org.lxh.myzngt.vo.Item" fetch="select" lazy="false">
<column name="itemid" />
</many-to-one>
impl类查询方法
public List queryAll() throws Exception {
String hql = "FROM Item AS i";
List all = super.getSession().createQuery(hql).list();
return all;
}
万分感谢
万分感谢:报错信息
java.lang.NullPointerException
at org.lxh.myzngt.struts.action.ItemAction.selectall(ItemAction.java:55)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) 展开
a.hbm.xml
<set name="subitems" inverse="true" cascade="all" table="subitem" >
<key>
<column name="itemid" />
</key>
<one-to-many class="org.lxh.myzngt.vo.Subitem" />
</set>
b.hbm.xml
<many-to-one name="item" class="org.lxh.myzngt.vo.Item" fetch="select" lazy="false">
<column name="itemid" />
</many-to-one>
impl类查询方法
public List queryAll() throws Exception {
String hql = "FROM Item AS i";
List all = super.getSession().createQuery(hql).list();
return all;
}
万分感谢
万分感谢:报错信息
java.lang.NullPointerException
at org.lxh.myzngt.struts.action.ItemAction.selectall(ItemAction.java:55)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) 展开
5个回答
展开全部
配置感觉没什么问题,class 如果是在一个包里面 可以直接写类名。
如果你的session值是取到了的,那估计就是你数据库有非法数据,不符合你配置的关联,如果你试测试应用,建议可以把表清空 重新加两调数据测试下。
如果你的session值是取到了的,那估计就是你数据库有非法数据,不符合你配置的关联,如果你试测试应用,建议可以把表清空 重新加两调数据测试下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
代码太少,异常太少。估计是(List) all这里为空,很有可能是super.getSession() 并未拿到Session,可以分两步把这里的代码改写一下。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
List all = super.getSession().createQuery(hql).list();
对这段代码修改跟踪下吧,看看是否super.gerSessiong()为空的。针对这样的写法建议拆分便于问题的跟踪,另外提供的有效代码太少不利于问题的分析
对这段代码修改跟踪下吧,看看是否super.gerSessiong()为空的。针对这样的写法建议拆分便于问题的跟踪,另外提供的有效代码太少不利于问题的分析
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你要看你是哪一句出的空指针呀。。
不过我看你代码。我觉的。。super.getSession()这句最高的希望。。我估计你的就没拿到session
不过我看你代码。我觉的。。super.getSession()这句最高的希望。。我估计你的就没拿到session
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你连信息给的这样少 还没有分给
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询