站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题用hibernate 连接数据库时抛出异常,不知道哪里错了,望高手帮忙找找,谢谢了

用hibernate 连接数据库时抛出异常,不知道哪里错了,望高手帮忙找找,谢谢了

摘要: 用hibernate 连接数据库时抛出异常,不知道哪里错了,望高手帮忙找找,谢谢了


异常提示如下:


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;
}
}






这是数据库映射类

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 remark;
private Integer number;


// Constructors

/** default constructor */
public TbNewman() {
}


/** full constructor */
public TbNewman(String name, String address, Integer age, String job, String remark, Integer number) {
this.name = name;
this.address = address;
this.age = age;
this.job = job;
this.remark = remark;
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 getRemark() {
return this.remark;
}

public void setRemark(String remark) {
this.remark = remark;
}

public Integer getNumber() {
return this.number;
}

public void setNumber(Integer number) {
this.number = number;
}









}


错误:org.hibernate.hql.ast.QuerySyntaxError: TbNewman is not mapped. [from TbNewman as t order by t.number asc]

有没有TbNewman.hbm.xml文件?
有没有在hibernate.cfg.xml中定义


↑返回目录
前一篇: jsp中如何在sql语句中获得系统当前时间!谢谢!
后一篇: 通过input模糊或精确查询数据库中的值,把结果动态的加载到select里,急用,高手帮忙啊