2011-02-25 129 views
3

我有我的函數返回一個ref_cursor和輸入參數有2如何使用Hibernate訪問Oracle函數(使用默認參數)?

FUNCTION fn_get_client(pv_clientId_len_i IN NUMBER DEFAULT 2) 
    RETURN gtyp_ref_cur; 

這裏的默認值Oracle 10g數據庫定義如下是我如何打電話從休眠功能 - 休眠的內容映射文件

<hibernate-mapping package="com.synapsegroupinc.services.crm.ExplainLanguageService.model"> 
    <class name="ClientInfo" schema="IVR">  
     <id name="clientId" column="client_id" type="string" /> 
     <property name="clientDesc" column="client_desc" type="string" />   
    </class> 
    <sql-query name="FN_GET_CLIENT" callable="true"> 
     <return class="ClientInfo"> 
      <return-property name="clientId" column="client_id"/> 
      <return-property name="clientDesc" column="client_desc" />   
     </return> 
     { ? = call PKG_CAMS_IVR_CRM.FN_GET_CLIENT(?) } 
    </sql-query> 
</hibernate-mapping> 

問題:當我在調用函數時傳遞的輸入值,一切工作正常。但是,我需要能夠使其工作,以便在我沒有輸入的情況下調用函數時,應該使用默認值。

我做了很多的谷歌搜索,但沒有運氣,以確定當調用函數/存儲過程時,hibernate是否可以支持默認參數。

謝謝大家。

回答

0

可能是一個錯誤?你使用的是什麼樣的jdbc驅動程序?你有沒有檢查是否是正確的?

順便說一句,您是否嘗試覆蓋fn_get_client並刪除參數?然後使用這個函數,你可以調用一個函數來接受一個帶默認選項的參數。它可以工作...