错误:org.hibernate.exception.SQLGrammarException: could not execute query
错误信息如下:
javax.servlet.ServletException: could not execute query
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:545)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:486)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
photo.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:63)
root cause
org.hibernate.exception.SQLGrammarException: could not execute query
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
org.hibernate.loader.Loader.doList(Loader.java:2148)
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)
reg.dao.ClientinfoDAO.findClientInfo(ClientinfoDAO.java:89)
reg.Reg.getClientInfo(Reg.java:127)
reg.Reg.addClientInfo(Reg.java:33)
reg.action.ClientInfoAction.execute(ClientInfoAction.java:41)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
photo.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:63)
相关方法
public List findClientInfo(Object cname,Object level){
List l=new ArrayList();
try {
String queryString = "from Clientinfo model where model.cname=? and model.level=?";
System.out.println(queryString);
Query queryObject = getSession().createQuery(queryString);
queryObject.setParameter(0, cname);
queryObject.setParameter(1, level);
l=queryObject.list();
} catch (RuntimeException re) {
log.error("find by property name failed", re);
System.out.println(re.getMessage());
throw re;
}
return l;
}
执行到l=queryObject.list();的时候出的错
Clientinfo.hbm.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse - Hibernate Tools
-->
<hibernate-mapping>
<class name="reg.dao.Clientinfo" table="CLIENTINFO" schema="QRBBS">
<id name="clentid" type="java.lang.Long">
<column name="CLENTID" precision="13" scale="0" />
<generator class="sequence">
<param name="sequence">seq_photo</param>
</generator>
</id>
<property name="cname" type="java.lang.String">
<column name="CNAME" length="200" not-null="true" />
</property>
<property name="pid" type="java.lang.Long">
<column name="PID" precision="13" scale="0" not-null="true" />
</property>
<property name="cid" type="java.lang.Long">
<column name="CID" precision="13" scale="0" not-null="true" />
</property>
<property name="level" type="java.lang.Long">
<column name="LEVEL" precision="10" scale="0" not-null="true" />
</property>
</class>
</hibernate-mapping>
Clientinfo.java
package reg.dao;
public class Clientinfo implements java.io.Serializable {
private Long clentid;
private String cname;
private Long pid;
private Long cid;
private Long level;
/** default constructor */
public Clientinfo() {
}
/** full constructor */
public Clientinfo(String cname, Long pid, Long cid, Long level) {
this.cname = cname;
this.pid = pid;
this.cid = cid;
this.level = level;
}
public Long getClentid() {
return this.clentid;
}
public void setClentid(Long clentid) {
this.clentid = clentid;
}
public String getCname() {
return this.cname;
}
public void setCname(String cname) {
this.cname = cname;
}
public Long getPid() {
return this.pid;
}
public void setPid(Long pid) {
this.pid = pid;
}
public Long getCid() {
return this.cid;
}
public void setCid(Long cid) {
this.cid = cid;
}
public Long getLevel() {
return this.level;
}
public void setLevel(Long level) {
this.level = level;
}
}
请各位老大帮帮忙吧,拜托啦