6 Stimmen

Kann ich eine Tabelle mit einer nativen SQL-Abfrage von Hibernate löschen?

Ich versuche, die temporäre Tabelle mit Hibernate Native SQL (createSQLQuery) Anweisung zu löschen. Hier ist der Code:

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

Es wird jedoch die folgende Ausnahme ausgelöst:

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) ....

Könnten Sie bitte vorschlagen, was in diesem Code falsch ist?

4voto

axtavt Punkte 233070

Aus Ihrem Stacktrace sieht es so aus, als hätten Sie list() anstelle von executeUpdate() wie Sie im Codebeispiel schreiben. Stellen Sie sicher, dass Sie tatsächlich executeUpdate() .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X