oracle - 如何使用 Hibernate 访问 Oracle 函数(使用默认参数)?

标签 oracle hibernate

我在 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 是否支持默认参数方面我没有运气。

谢谢大家

最佳答案

这可能是一个错误?您使用的是哪种 jdbc 驱动程序?你检查过它们是否正确吗?

顺便问一下,您是否尝试覆盖 fn_get_client 并删除参数?然后使用此函数,您可以调用接受带有默认选项的一个参数的函数。它可以工作...

关于oracle - 如何使用 Hibernate 访问 Oracle 函数(使用默认参数)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5120683/

相关文章:

java - 将参数从 Java 传递给 Sql

oracle - 用于 PL/SQL 开发的免费软件工具

java - 谷歌搜索但找不到在 hibernate 中使用注释进行双向映射的解决方案

spring - Autowiring 的 sessionFactory 对象为空

java - 使用 JDBC 运行 Drop Tablespace 命令时,操作系统中的数据文件未删除

oracle - ORA-29913 : error in executing ODCIEXTTABLEOPEN callout when inserting csv into oracle

java - 在 Spring 中设计积分系统

java - 为什么 Hibernate session 对象的 delete 方法不起作用?

sql - SELECT @@ROWCOUNT Oracle 等效项

java - 将 Hibernate 搜索结果与关系数据库查询合并