大侠们出手吧

插上翅膀的老虎 2011-01-11 10:57:57
一段代码
================
/*
* 查询对象
*/

public void testQuery()
{
Session session=null;
Transaction tx=null;
try
{
session=HibernateUtils.getSession();
tx=session.getTransaction();
tx.begin();

Query query=session.createSQLQuery("from customer");
List<Customer> list=query.list();
for(Iterator<Customer> iterator=list.iterator();iterator.hasNext();)
{
Customer customer=(Customer)iterator.next();
System.out.println(customer.getPassword());
}
tx.commit();
}catch(Exception e)
{
e.printStackTrace();
}

}


=============================
提示错误如下:

严重: ORA-00900: 无效 SQL 语句

org.hibernate.exception.SQLGrammarException: could not execute query
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.loader.Loader.doList(Loader.java:2148)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
at org.hibernate.loader.Loader.list(Loader.java:2024)
at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:111)
at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1655)
at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)
at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:164)
at com.huasoft.test.HbernateTest.testQuery(HbernateTest.java:110)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Caused by: java.sql.SQLException: ORA-00900: 无效 SQL 语句

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:330)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:287)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:742)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:212)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:951)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1159)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3284)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3328)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:139)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1669)
at org.hibernate.loader.Loader.doQuery(Loader.java:662)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
at org.hibernate.loader.Loader.doList(Loader.java:2145)
... 23 more



帮我看下,我太菜没看出来
...全文
174 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
风过无痕1110 2011-01-11
  • 打赏
  • 举报
回复
总结:
Query query=session.createQuery(hql);//对象查询语句
Query query=session.createSQLQuery(sql);//sql语句
我来晚了



whut_lcy 2011-01-11
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 xiangyihu 的回复:]
答案我找到了,大家看下,

Query query=session.createQuery("from Customer");


应该是createQuery
[/Quote]a
  • 打赏
  • 举报
回复
答案我找到了,大家看下,

Query query=session.createQuery("from Customer");


应该是createQuery
tt986101dpc 2011-01-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 gouxiongyaya 的回复:]

Query query=session.createSQLQuery("from customer");
from后边应该是实体类类名,是不是Customer,试下?
[/Quote]

+1
shanxmxj 2011-01-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 gouxiongyaya 的回复:]
Query query=session.createSQLQuery("from customer");
from后边应该是实体类类名,是不是Customer,试下?
[/Quote]


这里应该是对象 不是表名
hepeng_8 2011-01-11
  • 打赏
  • 举报
回复
select * from customer ???
  • 打赏
  • 举报
回复
哥哥,你太聪明了
gouxiongyaya 2011-01-11
  • 打赏
  • 举报
回复
Query query=session.createSQLQuery("from customer");
from后边应该是实体类类名,是不是Customer,试下?
happyfmy 2011-01-11
  • 打赏
  • 举报
回复
Query query=session.createSQLQuery("from customer");
你这个应该是用纯sql语句
select * from customer
bruce_yi 2011-01-11
  • 打赏
  • 举报
回复
from customer有问题 你看一下实体类customer有没有写错
huayu801 2011-01-11
  • 打赏
  • 举报
回复
总结:
Query query=session.createQuery(hql);//对象查询语句
Query query=session.createSQLQuery(sql);//sql语句
我来晚了
Gary8922 2011-01-11
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 tangyanbo1110 的回复:]
总结:
Query query=session.createQuery(hql);//对象查询语句
Query query=session.createSQLQuery(sql);//sql语句
我来晚了
[/Quote]
+1
yiyexiao2003 2011-01-11
  • 打赏
  • 举报
回复
+1
[Quote=引用 10 楼 tangyanbo1110 的回复:]
总结:
Query query=session.createQuery(hql);//对象查询语句
Query query=session.createSQLQuery(sql);//sql语句
我来晚了
[/Quote]
partys 2011-01-11
  • 打赏
  • 举报
回复
+1[Quote=引用 10 楼 tangyanbo1110 的回复:]
总结:
Query query=session.createQuery(hql);//对象查询语句
Query query=session.createSQLQuery(sql);//sql语句
我来晚了
[/Quote]

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧