各位高手
我今天在做一个基于SSH的BBS
但是每次程序运行到Hibernate 自动生成的DAO类的时候就有下面的异常select
        userinfo0_.UserId as UserId29_,
        userinfo0_.userRoleId as userRoleId29_,
        userinfo0_.userName as userName29_,
        userinfo0_.userPwd as userPwd29_,
        userinfo0_.userEmail as userEmail29_,
        userinfo0_.userState as userState29_,
        userinfo0_.userImg as userImg29_,
        userinfo0_.createtime as createtime29_ 
    from
        CRMZT.dbo.UserInfo userinfo0_
2009-3-3 20:55:37 org.apache.catalina.core.ApplicationDispatcher invoke
严重: Servlet.service() for servlet action threw exception
java.lang.NullPointerException
at org.hibernate.tuple.AbstractEntityTuplizer.createProxy(AbstractEntityTuplizer.java:372)
at org.hibernate.persister.entity.AbstractEntityPersister.createProxy(AbstractEntityPersister.java:3121)
at org.hibernate.event.def.DefaultLoadEventListener.createProxyIfNecessary(DefaultLoadEventListener.java:232)
at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:173)
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:87)
at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:862)
at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:830)
at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:266)
at org.hibernate.type.EntityType.resolve(EntityType.java:303)
at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:116)
at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:842)
at org.hibernate.loader.Loader.doQuery(Loader.java:717)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
at org.hibernate.loader.Loader.doList(Loader.java:2145)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
at org.hibernate.loader.Loader.list(Loader.java:2024)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:308)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:153)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1106)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at org.springframework.orm.hibernate3.HibernateTemplate$29.doInHibernate(HibernateTemplate.java:849)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:372)
at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:840)
at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:832)
at dao.UserInfoDAO.findAll(UserInfoDAO.java:124)
at biz.zgf.UserInfoBizImp.findAll(UserInfoBizImp.java:16)
at web.zgf.action.SelectUserInfozgfActionAction.execute(SelectUserInfozgfActionAction.java:31)
at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:110)
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.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:445)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at filter.Filter.doFilter(Filter.java:48)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:852)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:584)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1508)
at java.lang.Thread.run(Thread.java:619)
2009-3-3 20:55:37 org.apache.catalina.core.StandardWrapperValve invoke望高手指点!

解决方案 »

  1.   

    空指针异常去这行找dao.UserInfoDAO.findAll(UserInfoDAO.java:124) 
      

  2.   

    at dao.UserInfoDAO.findAll(UserInfoDAO.java:124)
    由以上信息可知代码出错的地方是UserInfoDAO.java第124行select 
            userinfo0_.UserId as UserId29_, 
            userinfo0_.userRoleId as userRoleId29_, 
            userinfo0_.userName as userName29_, 
            userinfo0_.userPwd as userPwd29_, 
            userinfo0_.userEmail as userEmail29_, 
            userinfo0_.userState as userState29_, 
            userinfo0_.userImg as userImg29_, 
            userinfo0_.createtime as createtime29_ 
        from 
            CRMZT.dbo.UserInfo userinfo0_ 由以上信息推测,是否数据库中的实际表名字段名与hbm配置文件中或者hql中的不一致,例如数据库中是userid,而配置文件中是UserId
      

  3.   

    我测试过了
    问题出现在
    Hibernate 自动生成那个DAO类的 fingAll()方法
    也就是说我什么代码都不写的话,也会报错,但是这个类的其他的方法又可以用
    值得一提的是
    我把Hibernate的配置文件hibernate.cfg.xml
    也整合到了Spring的配置文件中
    所以那个DAO类我没办法自己写(因为会报找不到hibernate.cfg.xml的错)
    望高手指点!