我們從休眠調用存儲過程(它內部調用另一個)。SQLException 00604&01003從休眠調用存儲過程命名查詢
Query query = session.getNamedQuery("query_name"); query.setParameter('param', 'value');
query.setResultTransformer(AliasToEntityMapResultTransformer.INSTANCE); List returnList = query.list();
的存儲過程是獨立運行的很好,當我們在SQL Developer中運行。但是我們通過應用程序運行它,它給出錯誤。
java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1
ORA-01003: no statement parsed
事情,我們嘗試:
- 調用從休眠一個簡單的存儲過程 - 運作良好。
- 創建測試用例來測試存儲的 過程(拋出錯誤)被調用的方法 - 運行良好。
我們的問題是,爲什麼同樣的查詢正在運行測試用例好,而不是thorugh應用程序運行時?
任何想法?
更新 這是我的錯,我正確地傳遞參數。只是交換了第一個兩個論點。對於遇到此問題的任何人,請檢查您在命名查詢中排序的參數。
謝謝。