我的函数在Oracle 10g数据库中定义如下,返回ref_cursor
,输入参数的默认值为2
FUNCTION fn_get_client(pv_clientId_len_i IN NUMBER DEFAULT 2)
RETURN gtyp_ref_cur;
以下是我如何从hibernate调用函数 - hibernate映射文件的内容
<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 :(得分:0)
可能是个错误吗?你使用什么样的jdbc驱动程序?你有没有检查一下是否正确?
顺便说一下,您是否尝试覆盖fn_get_client
并删除参数?然后使用此函数,您可以使用默认选项调用接受一个参数的函数。它可以工作......