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

当前页面: 开发资料首页J2EE 专题hibernate数据库的问题

hibernate数据库的问题

摘要: hibernate数据库的问题


同样两个表,USER,ORDER,对USER进行各种数据操作没问题,同样的方法放到OrderDao中对ORDER进行操作,就报下面错误
net.sf.hibernate.exception.SQLGrammarException: Could not execute query
at net.sf.hibernate.exception.ErrorCodeConverter.convert(ErrorCodeConverter.java:69)
at net.sf.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29)
at net.sf.hibernate.impl.SessionImpl.convert(SessionImpl.java:4131)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1557)
at net.sf.hibernate.impl.QueryImpl.list(QueryImpl.java:49)
at com.book.dao.OrderDao.searchOrder(OrderDao.java:26)
at org.apache.jsp.text_jsp._jspService(text_jsp.java:77)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
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
at org.apache.catalina.core.StandardValveContext.invokeNext
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:534)
Caused by: java.sql.SQLException: Syntax error or access violation message from server: "You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'order order0_' at line 1"
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2234)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1412)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1494)
at com.mysql.jdbc.Connection.execSQL(Connection.java:1909)
at com.mysql.jdbc.Connection.execSQL(Connection.java:1847)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1711)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1559)
at net.sf.hibernate.impl.BatcherImpl.getResultSet(BatcherImpl.java:89)
可能是什么问题引起的呢?配置文件检查很多次了,应该没错的,ORDER和USER基本字段都一样的,方法也一样..


没有看见说你的语法错了。。


检查你的hql语句。


hql语法错误,贴代码


order是保留字,估计你的表名或者字段名用到了,它可以通过加“"”解决,
但是最好是修改字段名


ORDER是保留字啊?不知道..表名是order但是现在在公司,代码在家,晚上回去看看,解决了就结帐~谢谢各位
操作就是save(order)


问题解决了,表名的错误,谢谢各位


↑返回目录
前一篇: 高人看看我的一个servlet 错在哪了? 我实在不知道为什么无法编译
后一篇: 数据库连接池