簡體   English   中英

執行存儲過程時休眠異常

[英]hibernate exception when executing stored procedure

我們正在使用Hibenate 3 jar文件,並嘗試以以下方式執行存儲過程

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

並低於異常。 此錯誤是否可能是由Jar文件的版本或其他原因引起的? 有沒有人得到這個錯誤,任何輸入將幫助。

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

您可以使用SQl查詢來調用存儲過程

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM