2012-03-29 7 views
0

Wir verwenden Hibenate 3 JAR-Dateien und versucht, eine gespeicherte Prozedur alsHibernate Ausnahme, wenn gespeicherte Prozedur ausgeführt wird

@Entity 
@NamedNativeQuery(name = "callStoredPrcoc", 
resultClass = ProcResult.class, 
query = "{call storedProc(?,:inputParam)}", 
callable = true, 
readOnly=true 
) 

und unter Ausnahme immer auszuführen. Wird dieser Fehler möglicherweise durch die Version der Jar-Dateien oder etwas anderes verursacht? Hat jemand diesen Fehler hat, helfen alle Eingaben.

[3/29/12 16:30:20:915 CDT] 0000003f SystemErr  R Caused by: org.hibernate.HibernateException: Problem while trying to load or access OracleTypes.CURSOR value 
[3/29/12 16:30:20:915 CDT] 0000003f SystemErr  R  at org.hibernate.dialect.Oracle9Dialect.registerResultSetOutParameter(Oracle9Dialect.java:309) 
[3/29/12 16:30:20:915 CDT] 0000003f SystemErr  R  at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1586) 
[3/29/12 16:30:20:915 CDT] 0000003f SystemErr  R  at org.hibernate.loader.Loader.doQuery(Loader.java:696) 
[3/29/12 16:30:20:915 CDT] 0000003f SystemErr  R  at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259) 
[3/29/12 16:30:20:915 CDT] 0000003f SystemErr  R  at org.hibernate.loader.Loader.doList(Loader.java:2228) 
[3/29/12 16:30:20:915 CDT] 0000003f SystemErr  R  at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2125) 
[3/29/12 16:30:20:915 CDT] 0000003f SystemErr  R  at org.hibernate.loader.Loader.list(Loader.java:2120) 
[3/29/12 16:30:20:915 CDT] 0000003f SystemErr  R  at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:312) 
[3/29/12 16:30:20:915 CDT] 0000003f SystemErr  R  at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1722) 
[3/29/12 16:30:20:915 CDT] 0000003f SystemErr  R  at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:165) 
[3/29/12 16:30:20:915 CDT] 0000003f SystemErr  R  at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:175) 
[3/29/12 16:30:20:915 CDT] 0000003f SystemErr  R  at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:67) 
+0

Können Sie Ihre DB-Version, Hibernate Version und JDBC-Treiber hinzufügen, die Sie verwenden? –

Antwort

0

Sie können SQL-Abfrage verwenden, um Anruf Stored Procedure

Query query = session.createSQLQuery(
     "CALL storedProc(:Parameter)") 
     .addEntity(Stock.class) 
     .setParameter("Parameter Name", "value"); 
Verwandte Themen