Ибатис перестает работать при переходе с OJDBC6 на OJDBC8 - PullRequest
0 голосов
/ 13 июля 2020

В настоящее время я поддерживаю и разрабатываю программное обеспечение для клиентов. Он основан на Spring-web (4.3.10), и хотя большинство Entities используют Hibernate, есть несколько Entities, основанных на IBATIS (2.3.4.726) (с MYBATIS для совместимости со Spring 4+).

Для локального тестирования , Я клонировал нашу базу данных Oracle в контейнер Oracle 12 c Docker.

Программное обеспечение, подключенное к базе данных, изначально основанное на Oracle 11g, с использованием ODJBC6. Это не сработало для 12 c без некоторой конфигурации sq lnet, поэтому я попытался перейти на OJDBC8, пока я на нем. Это отлично работало, пока IBATIS не попытался загрузить некоторые объекты.

На OJDBC8 он продолжал выдавать ошибки resultSet (SQL / JDB C Error 17010, Closed Resultset) для определенного c, на мой взгляд, довольно простого запроса (выдержка):

<resultMap id="stateResult" class="state">
    <result property="stateId" column="state_id" />
    <result property="stateType" column="state_type" />
    <result property="displayName" column="display_name" />
    <result property="previousStateId" column="prev" />
    <result property="maxNumberOfIterations" column="max_iterations"/>
    <result property="allSteps" select="Step.getStepsForState" column="state_id" />
    <result property="nextState" select="Workflow.getState" column="next_state" />
</resultMap>

<select id="getState" parameterClass="Long" resultMap="stateResult" cacheModel="stateTemplateCache">
        SELECT 
            a.state_id,
            a.state_type,
            a.display_name,
            a.max_iterations,
            a.next_state,
            b.state_id prev
        FROM
            state a, state b
        WHERE 
            b.next_state (+)=  a.state_id
            and a.state_id = #value#
</select>

У меня нет конкретной c проблемы, которую нужно решить здесь, поскольку она работает с панелью OJDBC6 с некоторой конфигурацией (спасибо, ТАК), но я хотел бы знать, из Интересно, если кто-нибудь знает о чем-то конкретном c относительно драйвера OJDBC8, который нарушает 2.3.4.726 ibatis-sqlmap или соответствующую реализацию mybatis-2-spring.

Или в двух словах: что могло быть проблема? Я даже не уверен, что здесь на самом деле подразумевает ORA-17010.

Спасибо!

Изменить: прежде чем кто-либо что-то скажет, я знаю, что мой проект использует сильно устаревшие библиотеки, но у меня сейчас нет времени или бюджета на миграцию.

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