Недавно мы подняли популярное приложение, написанное под JDK6 с использованием ojdbc6 для базы данных Oracle 11g.Было поднято настроение использовать JDK8 для той же базы данных 11g, но мы также были в процессе обновления до 12c.Поднятый код был запущен в работе с базой данных 11g, но медленнее, чем раньше.В отношении базы данных 12c в нашей среде QA мы замечаем, что задания либо выдают исключения, либо работают ОЧЕНЬ медленно.Когда я посмотрел на код, то заметил, что команде проекта, назначенной для поднятия кода, не удалось обновить ojdbc с 6 до как минимум 8. С тех пор я проделал эту работу, но теперь мы получаем ошибки при отправке следующего кода:
Calendar endModDate = Calendar.getInstance();
// get the timestamp from the db
Query qry = em.createNativeQuery("select SYSTIMESTAMP from dual");
TIMESTAMPTZWrapper tsTZWrapper = (TIMESTAMPTZWrapper)qry.getSingleResult();
Em - наш менеджер по организации.Но когда код вызывает функцию-член qry.getSingleResult (), мы получаем эту ошибку:
oracle.sql.TIMESTAMPTZ не может быть приведен к org.eclipse.persistence.internal.platform.database.oracle..TIMESTAMPTZWrapper
Я искал ответ "высоко" и "низко", и все, что напоминает ответ, похоже, не исправляет мое решение.Эта та же самая логика используется в одной другой области кода и производит ту же самую проблему.Если мы вернемся к ojdbc6, то он будет работать, но мы не сможем использовать ojdbc6 (и мы действительно не должны, так как мы на jdk8), так как нам нужно перейти на Oracle 12c в следующем месяце.
Спасибо за любую помощь в этом вопросе.