java – 我可以使用hibernate本机SQL查询删除表

前端之家收集整理的这篇文章主要介绍了java – 我可以使用hibernate本机SQL查询删除表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我试图使用hibernate本机sql(createsqlQuery)语句删除临时表.
这是代码

session.createsqlQuery("DROP TABLE tmp_dummy_table").executeUpdate();

但它会让我失望:

sql Error: 1003,sqlState: 24000
ORA-01003: no statement parsed

Exception while creating tmp_dummy_table tableorg.hibernate.exception.GenericJDBCException: org.hibernate.exception.GenericJDBCException:could not execute query
  at org.hibernate.exception.sqlStateConverter.handledNonSpecificException(sqlStateConverter.java:103)
        at org.hibernate.exception.sqlStateConverter.convert(sqlStateConverter.java:91)
        at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
        at org.hibernate.loader.Loader.doList(Loader.java:2223)
        at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
        at org.hibernate.loader.Loader.list(Loader.java:2099)
        at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:289)
        at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1695)
        at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)
        at org.hibernate.impl.sqlQueryImpl.list(sqlQueryImpl.java:152) ....

你能否在这段代码中说明什么错误

最佳答案
在您的堆栈跟踪中,当您在代码示例中编写时,它看起来像是调用了list()而不是executeUpdate().确保实际调用executeUpdate().

猜你在找的Java相关文章