ouyang19910205 2013-05-31 11:00 采纳率: 0%
浏览 3076

我用hibernateTemplate的find查询出现空指针异常

当查询的那一行数据的外键没有值时可以查得到,但外键有值时则报空指针异常,一下是hibernate的源码部分

public Number selectById(String id){
        // TODO Auto-generated method stub

        String hql="from Number wherer id=?";//报错行
        List<Number> list=hibTemplate.find(hql,id);
        if(list.size()>0){
            return list.get(0);
        }else{
            return null;
        }

    }

这里id是主键

一下是错误页面:

javax.servlet.ServletException: java.lang.NullPointerException
    org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:518)
    org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)


root cause 

java.lang.NullPointerException
    org.hibernate.tuple.AbstractEntityTuplizer.createProxy(AbstractEntityTuplizer.java:372)
    org.hibernate.persister.entity.AbstractEntityPersister.createProxy(AbstractEntityPersister.java:3121)
    org.hibernate.event.def.DefaultLoadEventListener.createProxyIfNecessary(DefaultLoadEventListener.java:232)
    org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:173)
    org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:87)
    org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:862)
    org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:830)
    org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:266)
    org.hibernate.type.EntityType.resolve(EntityType.java:303)
    org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:116)
    org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:842)
    org.hibernate.loader.Loader.doQuery(Loader.java:717)
    org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
    org.hibernate.loader.Loader.doList(Loader.java:2145)
    org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
    org.hibernate.loader.Loader.list(Loader.java:2024)
    org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375)
    org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:308)
    org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:153)
    org.hibernate.impl.SessionImpl.list(SessionImpl.java:1106)
    org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
    org.springframework.orm.hibernate3.HibernateTemplate$29.doInHibernate(HibernateTemplate.java:849)
    org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:372)
    org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:840)
    org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:836)
    com.etc.dao.NumberDAOHibernateTemplateImpl.selectById(NumberDAOHibernateTemplateImpl.java:19)
    com.etc.service.NumberServiceImpl.delNum(NumberServiceImpl.java:32)
    com.etc.action.NumberAction.deleteNumber(NumberAction.java:115)
  • 写回答

1条回答

  • 码界一棵葱 2016-08-19 02:51
    关注

    请问你的问题解决了么,我碰到和你一样的问题!

    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!