#java #oracle #mybatis
#java #Oracle #mybatis
Вопрос:
У меня есть это исключение с mybatis
— Причина: java.lang.ClassCastException: oracle.jdbc.driver.OracleDatabaseMetaData не может быть передан oracle.jdbc.OracleDatabaseMetaData; вложенным исключением является com.ibatis.common.jdbc.exception.NestedSQLException:
— Ошибка произошла в sqlMaps/WorkSession.xml .
— Ошибка произошла при применении карты результатов.
— Проверьте getChangeSeller-AutoResultMap.
— Проверьте отображение результатов для свойства ‘IS_RESTRICTED’.
— Причина: java.lang.ClassCastException: oracle.jdbc.driver.OracleDatabaseMetaData не может быть передан oracle.jdbc.OracleDatabaseMetaData
И это моя рабочая сессия sqlMap.getChangeSeller :
<select id="getChangeSeller" parameterMap="getChangeSellerParam" resultClass="Boolean">
select decode(count(*),0,0,1) is_restricted
from users u inner join user_sdp us on u.user_id = us.user_id
inner join sdp s on s.sdp_id = us.sdp_id
where u.user_id = ? and s.sdp_id = ? and s.self_cash_cycle_only = 1 and u.self_cash_cycle_only =1
</select>
Комментарии:
1. У вас где-то есть несоответствия версий с вашими зависимостями.
2. Я использую ojdbc 7, ibatis-2.3.0 и jdk 7.
3. @kh123 опубликуйте всю трассировку стека, пожалуйста.
4. На самом деле, это хуже, чем просто несоответствие версий. Мне кажется, что у вас есть две копии одного и того же типа… это означает, что класс был загружен двумя отдельными загрузчиками классов. Я предполагаю, что у вас есть драйвер Oracle как в папке общей библиотеки веб-контейнера (т. Е. weblogic), так и в WAR-файле веб-приложения. Или что-то в этом роде. (Но я не знаком с MyBatis ….)