异常提示如下:
org.hibernate.hql.ast.QuerySyntaxError: TbNewman is not mapped. [from TbNewman as t order by t.number asc]
at org.hibernate.hql.ast.ErrorCounter.throwQueryException(ErrorCounter.java:63)
at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:196)
at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:130)
at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:83)
at org.hibernate.impl.SessionFactoryImpl.getQuery(SessionFactoryImpl.java:427)
at org.hibernate.impl.SessionImpl.getQueries(SessionImpl.java:884)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:834)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:74)
at com.yourcompany.struts.action.NewmanAction.execute(NewmanAction.java:59)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:595)
Caused by:  TbNewman is not mapped.
at org.hibernate.hql.ast.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:85)
at org.hibernate.hql.ast.FromElementFactory.addFromElement(FromElementFactory.java:77)
at org.hibernate.hql.ast.FromClause.addFromElement(FromClause.java:67)
at org.hibernate.hql.ast.HqlSqlWalker.createFromElement(HqlSqlWalker.java:217)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:2830)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:2719)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:513)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:371)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:201)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:151)
at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:189)
... 37 more这是action中的代码
/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package com.yourcompany.struts.action;import java.util.Iterator;
import java.util.List;import hibernate.HibernateSessionFactory;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;import testhibernate.TbContent;
import testhibernate.TbNewman;import com.yourcompany.struts.form.NewmanForm;/** 
 * MyEclipse Struts
 * Creation date: 03-10-2006
 * 
 * XDoclet definition:
 * @struts.action path="/newman" name="newmanForm" input="/form/newman.jsp" scope="request" validate="true"
 */
public class NewmanAction extends Action {
/*
 * Generated Methods
 */ /** 
 * Method execute
 * @param mapping
 * @param form
 * @param request
 * @param response
 * @return ActionForward
 */
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
NewmanForm newmanForm = (NewmanForm) form;// TODO Auto-generated method stub
String sign=newmanForm.getSign();
System.out.println("sign: "+sign);
Session session=HibernateSessionFactory.getSession();
Transaction tx=null;
List list=null;
try
{
tx=session.beginTransaction();
Query query=session.createQuery("from TbNewman as t order by t.number asc");
    list=query.list();
    tx.commit();
}
catch(Exception ex)
{
ex.printStackTrace();
}
finally
{
session.close();
}
Iterator ite=list.iterator();
while(ite.hasNext())
    {
TbNewman tb=(TbNewman)ite.next();
     String name=tb.getName();
     System.out.println("name:  "+name);
    }
return null;
}
}

解决方案 »

  1.   

    这是数据库映射类package testhibernate;/**
     * TbNewman generated by MyEclipse - Hibernate Tools
     */public class TbNewman  implements java.io.Serializable {
        // Fields         private Integer id;
         private String name;
         private String address;
         private Integer age;
         private String job;
         private String re;
         private Integer number;
        // Constructors    /** default constructor */
        public TbNewman() {
        }    
        /** full constructor */
        public TbNewman(String name, String address, Integer age, String job, String re, Integer number) {
            this.name = name;
            this.address = address;
            this.age = age;
            this.job = job;
            this.re = re;
            this.number = number;
        }   
        // Property accessors    public Integer getId() {
            return this.id;
        }
        
        public void setId(Integer id) {
            this.id = id;
        }    public String getName() {
            return this.name;
        }
        
        public void setName(String name) {
            this.name = name;
        }    public String getAddress() {
            return this.address;
        }
        
        public void setAddress(String address) {
            this.address = address;
        }    public Integer getAge() {
            return this.age;
        }
        
        public void setAge(Integer age) {
            this.age = age;
        }    public String getJob() {
            return this.job;
        }
        
        public void setJob(String job) {
            this.job = job;
        }    public String getRe() {
            return this.re;
        }
        
        public void setRe(String re) {
            this.re = re;
        }    public Integer getNumber() {
            return this.number;
        }
        
        public void setNumber(Integer number) {
            this.number = number;
        }
       
    }
      

  2.   

    错误:org.hibernate.hql.ast.QuerySyntaxError: TbNewman is not mapped. [from TbNewman as t order by t.number asc]有没有TbNewman.hbm.xml文件?
    有没有在hibernate.cfg.xml中定义<mapping resource="com/xxxx/TbNewman.hbm.xml" />?