Как получить доступ к функции Oracle (с параметрами по умолчанию), используя Hibernate? - PullRequest
3 голосов
/ 25 февраля 2011

Моя функция определена, как указано ниже, в базе данных 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 поддерживать параметры по умолчанию или нет при вызове функции / хранимой процедуры.

Спасибо всем.

1 Ответ

0 голосов
/ 17 сентября 2011

Может быть, это ошибка? Какие драйверы JDBC вы используете? Вы проверили правильные ли они?

Кстати, вы пытались переопределить fn_get_client и удалить параметр? Затем с помощью этой функции вы можете вызвать функцию, которая принимает один параметр с опцией по умолчанию. Это может сработать ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...