powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / проблема с Hibernate/драйвер при переходе с Oracle-11g на 12с!
25 сообщений из 62, страница 1 из 3
проблема с Hibernate/драйвер при переходе с Oracle-11g на 12с!
    #39151807
ORAngutang
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сталкивался тут кто-либо с этим? И можно ли _безопасно_(!) оставить старый драйвер(от 11g) и соотв. старый JBOSS/Seam, а работать начать уже с СУБД 12с?

вот этот же вопрос в оракловском подфоруме (там, кроме прочего, рекомеднуют форум по Java)
____________________________________________________________
сейчас работаю на: Oracle 11.2.0.2.0, 64bit, standard edition, OU-Linux.
...
Рейтинг: 0 / 0
проблема с Hibernate/драйвер при переходе с Oracle-11g на 12с!
    #39151942
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ORAngutang,
а чего тут думать, оставить можно, но может что-то не работать - как всегда...

попробуй - поймешь.

на самом деле jdbc драйверов для оракла еще несколько существует, тоже проблема, смотря какой возьмешь...
...
Рейтинг: 0 / 0
проблема с Hibernate/драйвер при переходе с Oracle-11g на 12с!
    #39151954
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ORAngutang,

Как вариант: использовать различные профили сборки для maven
...
Рейтинг: 0 / 0
проблема с Hibernate/драйвер при переходе с Oracle-11g на 12с!
    #39151955
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
проблема с Hibernate/драйвер при переходе с Oracle-11g на 12с!
    #39164823
ORAngutang
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cпасибо, но я пока не разобрался полностью в проблеме. Наши веб-разработчики дают такую информацию:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Application:
----------------
<seam-version>2.2.2.Final</seam-version>
<hibernate-annotations-version>3.4.0.GA</hibernate-annotations-version>
<hibernate-validator-version>3.1.0.GA</hibernate-validator-version>
<jsf-facelets-version>1.1.14</jsf-facelets-version>
<rich-faces-version>3.3.3.Final</rich-faces-version>

als Dependency:  hibernate-core version 3.3.0.SP1 f&#252;r Compilieren.
OracleDialect: org.hibernate.dialect.Oracle10gDialect


JBOSS 4.2.2.GA
------------------

Hibernate-Version: 3.2.4.sp1
Hibernate Annotations Version: 3.2.1.GA
Hibernate EntityManager Version: 3.2.1.GA
Oracle JDBC Driver f&#252;r 11g - ojdbc14
Oracle JDBC Driver f&#252;r 12c - ojdbc6



ну и вот при вызове PROCEDURE XXXXXXXXX (o_res out sys_refcursor, p_yyyyy IN NUMBER, .... (
получается ошибка вида:

Код: plsql
1.
2.
3.
4.
5.
6.
....
INFO   |  Caused by: org.hibernate.HibernateException: Problem while trying to load or access OracleTypes.CURSOR value
.....................
INFO   |  Caused by: java.lang.IllegalAccessException: Class org.hibernate.dialect.Oracle9Dialect can not access a member of class oracle.jdbc.driver.OracleTypes with modifiers ""

Bug: https://hibernate.atlassian.net/browse/HHH-3159



хотя судя по этому линку проблемы должны были появиться уже с переходом на 11g(на котором мы уже сидим много лет), а не с попыткой перейти на 12с, как сейчас!!! ( "With Oracle 11g, the deprecated package oracle.jdbc.driver no longer exists and this causes issues with all OracleDialect classes making it impossible to use Hibernate."(с) )

хотя вот здесь речь о:
"Try to use org.hibernate.dialect.Oracle10gDialect, seems to be the highest possible version in Hibernate 4.3.9.
A dialect for 12c seems to be present in later versions, see this."
(правда у нас ещё более старая версия Hibernate - 3.2.4 ! )

Более новый Hibernate (чем 3.2.4 ) очевидно недоступен для версии Jboss 4.2.2. (очевидно ли?!?! поправьте меня, плиз! А точнее моих web-appl.-коллег, если это не так!)
...
Рейтинг: 0 / 0
проблема с Hibernate/драйвер при переходе с Oracle-11g на 12с!
    #39164835
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ORAngutang, насколько я понимаю проблемной является возврат курсора из процедуры

Код: java
1.
PROCEDURE XXXXXXXXX (o_res out sys_refcursor, p_yyyyy IN NUMBER, .... (



можно в качестве workaround получить экземпляр Connection и исполнить этот вызов
минуя хибернейт. (Я не спец по хибернейту и не знаю как это).

А потом ждать пока поправят сам хибернейт.
...
Рейтинг: 0 / 0
проблема с Hibernate/драйвер при переходе с Oracle-11g на 12с!
    #39165237
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заменить Hibernate на TopLink или EclipseLink - там то уж точно с Oracle всё должно работать.
...
Рейтинг: 0 / 0
проблема с Hibernate/драйвер при переходе с Oracle-11g на 12с!
    #39165328
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ORAngutang...
Более новый Hibernate (чем 3.2.4 ) очевидно недоступен для версии Jboss 4.2.2. (очевидно ли?!?! поправьте меня, плиз! А точнее моих web-appl.-коллег, если это не так!)

IMHO Не очевидно.
Вообще не понятно, откуда такое утверждение взялось. Хотя с JBoss не работал. Только Tomcat & WebLogic.

Первая ссылка в google:

http://planet.jboss.org/post/how_to_upgrade_hibernate_in_jboss
...
Рейтинг: 0 / 0
проблема с Hibernate/драйвер при переходе с Oracle-11g на 12с!
    #39165338
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На otn.oracle.com так же пишут.

"JBoss 4.2.3 comes with Hibernate 3.2.6 out of the box, but the thread states that Hibernate 3.3.2 has a fix for it. I have upgraded Hibernate in Jboss 4.2.3 without any issues in the past, so you can try it..."

https://community.oracle.com/message/3192796#3192796
...
Рейтинг: 0 / 0
проблема с Hibernate/драйвер при переходе с Oracle-11g на 12с!
    #39165465
Igor Narodetski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
речь идёт о более чем 10 больших проектах, поэтому об этом речи быть не может. Хотя для новых, надо будет подумать.
...
Рейтинг: 0 / 0
проблема с Hibernate/драйвер при переходе с Oracle-11g на 12с!
    #39165472
Igor Narodetski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev
Вообще не понятно, откуда такое утверждение взялось. Хотя с JBoss не работал. Только Tomcat & WebLogic.
Первая ссылка в google:
http://planet.jboss.org/post/how_to_upgrade_hibernate_in_jboss

(работаю с ORAngutang, открывшим Топик)
речь о поднятии до версии 3.2.6, а исправленная версия 3.3.2
...
Рейтинг: 0 / 0
проблема с Hibernate/драйвер при переходе с Oracle-11g на 12с!
    #39165621
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не очень понял фразу о "10 больших проектах, поэтому об этом речи быть не может".

Единственная (основная) проблема - тестирование. Но в любом случае, что приложение нужно будет тестировать с разными версиями JDBC / Database, что с разными версиями Hibernate / JDBC / Database - все равно появляется два разных окружения. Два разных комплекта поставки. Т.ч. в сопровождении - одинаково.

IMHO & AFAIK.
...
Рейтинг: 0 / 0
проблема с Hibernate/драйвер при переходе с Oracle-11g на 12с!
    #39165630
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверное есть какой-то дефект проектирования. Сильные связи. 10 проектов
каким-то гвоздём "пробиты" к стеку хибернейт.
...
Рейтинг: 0 / 0
проблема с Hibernate/драйвер при переходе с Oracle-11g на 12с!
    #39165722
ORAngutang
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНаверное есть какой-то дефект проектирования.

ждём ответа на это предположение от нашего руководителя ява-разработок (Igor Narodetski )
...
Рейтинг: 0 / 0
проблема с Hibernate/драйвер при переходе с Oracle-11g на 12с!
    #39165732
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor Narodetskiречь о поднятии до версии 3.2.6, а исправленная версия 3.3.2
Fix Version/s:
3.2.7, 3.3.2, 3.5.0.Beta-1

В чем проблема обновиться до последнего апдейта?
...
Рейтинг: 0 / 0
проблема с Hibernate/драйвер при переходе с Oracle-11g на 12с!
    #39165746
Igor Narodetski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton10 проектов каким-то гвоздём "пробиты" к стеку хибернейт.

Гвоздь называется Seam2, как было описано в топике, и начало проектирования было в 2008 году, и взят как наиболее подходящий по условиям проекта.

Проекты достаточно большие (от 7000 до 25000 LOC) и количеством таблиц в БД (и соответствующим им Entity) > 300.

На тот момент ничего лучше Hibernate не было, Link'и распространились позже, а Seam тесно сплетён с Hibernate.

Ну и намного легче тогда перейти на Wildfly, и портировать проекты без модификации кода.

Вопрос был не как переписать или поменять (на это сейчас нету времени и ресурсов),
а как то что есть заставить работать на 12c и старом Jboss.
...
Рейтинг: 0 / 0
проблема с Hibernate/драйвер при переходе с Oracle-11g на 12с!
    #39165751
ORAngutang
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor Narodetski как то что есть заставить работать на 12c и старом Jboss.
да, именно! Возможно ли это технически _вообще_ хоть как-либо?
...
Рейтинг: 0 / 0
проблема с Hibernate/драйвер при переходе с Oracle-11g на 12с!
    #39165753
Igor Narodetski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczВ чем проблема обновиться до последнего апдейта?

Hibernate в Jboss обновить можно, но у Seam2 есть т.н. EntityManagerFactory, и при его инстанциировании происходит конфликт с ядром Jboss'а, т.е. jbossweb.jar содержит классы кот. не согласуются с классами в новом Hibernate.

Т.е. просто заменить Hibernate в Jboss и оставить старый в Аппликации можно, но мне надо как раз в Аппликации поднять, а тут и происходит вывеописанный конфликт.
...
Рейтинг: 0 / 0
проблема с Hibernate/драйвер при переходе с Oracle-11g на 12с!
    #39165760
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor NarodetskiHibernate в Jboss обновить можно, но у Seam2 есть т.н. EntityManagerFactory, и при его инстанциировании происходит конфликт с ядром Jboss'а, т.е. jbossweb.jar содержит классы кот. не согласуются с классами в новом Hibernate.
Ну, то есть какая-то магия, в которой вы ещё недоразобрались.

Igor NarodetskiТ.е. просто заменить Hibernate в Jboss и оставить старый в Аппликации можно, но мне надо как раз в Аппликации поднять, а тут и происходит вывеописанный конфликт.
Брр. У вас один хибер в JBoss, а второй в JEE модуле? Я бы рекомендовал такой комплектации избегать.
И что за конфликт с Seam2 тоже не очень понятно, учитывая что это лишь минорный апдейт Hibernate.

В общем, меньше магии, больше конкретики.
...
Рейтинг: 0 / 0
проблема с Hibernate/драйвер при переходе с Oracle-11g на 12с!
    #39165801
Igor Narodetski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczБрр. У вас один хибер в JBoss, а второй в JEE модуле? Я бы рекомендовал такой комплектации избегать.
И что за конфликт с Seam2 тоже не очень понятно, учитывая что это лишь минорный апдейт Hibernate.
В общем, меньше магии, больше конкретики.

Есть 3 варианта:
- один вариант это библиотеки самого Jboss то есть папка jboss-4.2.2.GA\server\default\lib\
- второй вариант это повышение библиотек в самой программе то есть папка \WEB-INF\lib в самой аппликации.
- третий оба эти варианта вместе.

Я пробовал все и в каждом случае в итоге прихожу к одинаковой ошибке.
в Seam есть свой класс HibernatePersistenceProvider (jboss-seam.jar: org\jboss\seam\persistence\HibernatePersistenceProvider.class)
у hibernate свой (org.hibernate.jpa.HibernatePersistenceProvider).

получаем ClassCastException : HibernatePersistenceProvider cannot be cast to HibernatePersistenceProvider.
...
Рейтинг: 0 / 0
проблема с Hibernate/драйвер при переходе с Oracle-11g на 12с!
    #39165808
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor Narodetskiполучаем ClassCastException : HibernatePersistenceProvider cannot be cast to HibernatePersistenceProvider.
Правильно, потому что в одной ветке иерархии classloader-ов нет места одинаковым классам. JBoss эту проблему уже более десятка лет безуспешно пытается забороть. Зачем вы поместили в своё приложение Hibernate, который уже присутствует в либах JBoss - не понятно. Уберите его насовсем и обновите только версию внутри JBoss.
...
Рейтинг: 0 / 0
проблема с Hibernate/драйвер при переходе с Oracle-11g на 12с!
    #39165820
Igor Narodetski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczПравильно, потому что в одной ветке иерархии classloader-ов нет места одинаковым классам. JBoss эту проблему уже более десятка лет безуспешно пытается забороть. Зачем вы поместили в своё приложение Hibernate, который уже присутствует в либах JBoss - не понятно. Уберите его насовсем и обновите только версию внутри JBoss.

Ок, видимо предыдущий коммент был не совсем полный. В "оригинальной" версии приложения
(т.е. то кот. работает на Jboss и Oracle11g) у меня конечно нету никакого Hibernate, используются только Jboss-библиотеки.

Я пробовал изменять или только в Jboss, или в обоих местах (были советы на некоторых форумах), результат одинаковый,
я прихожу к проблеме classloader-а Seam/Jboss-Hibernate.

Jboss7/Wildfly эту проблему решили и там я могу использовать различные версии для приложения и сервера, в Jboss4 - нет.
...
Рейтинг: 0 / 0
проблема с Hibernate/драйвер при переходе с Oracle-11g на 12с!
    #39165831
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor NarodetskiОк, видимо предыдущий коммент был не совсем полный. В "оригинальной" версии приложения
(т.е. то кот. работает на Jboss и Oracle11g) у меня конечно нету никакого Hibernate, используются только Jboss-библиотеки.
Я пробовал изменять или только в Jboss, или в обоих местах (были советы на некоторых форумах), результат одинаковый,
я прихожу к проблеме classloader-а Seam/Jboss-Hibernate.

Это не правда. Если убрать Hibernate из JEE модуля и обновить минорный апдейт внутри JBoss, то точно такого же ClassCastException быть не может.


Igor NarodetskiJboss7/Wildfly эту проблему решили и там я могу использовать различные версии для приложения и сервера, в Jboss4 - нет.
Проект - загадка. Oracle обновляется регулярно, а вот JBoss за 10 лет обновить так и не собрались?
...
Рейтинг: 0 / 0
проблема с Hibernate/драйвер при переходе с Oracle-11g на 12с!
    #39165843
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опять таки, если гуглить за Вас:
1. Народ уверяет, что успешно более новый Hibernate и Seam 2 скрещивают

http://ctpjava.blogspot.ru/2010/07/using-seam-2-with-jpa-2.html

Т.е. если аккуратно, то вполне можно. Я так понимаю, проблемы несколько:
1.1. Добиться корректного classpath, что бы не было двух версий одной и той же библиотеки
1.2. Проблема с Hibernate Validator. Как я понял, достаточно легко решается,
1.3. Что-то про заглушку для EntityManager, но это я не понял.

2. На самом деле, не очень понятна проблема.

2.1. Замена БД все равно требует тщательного тестирования. Х.з. где может вылезти.
2.2. Если со старыми JDBC драйвером все тестировалось, работает и разработчики за такую конфигурацию ручаются - в чем проблема?
2.3. Если с обновленным Hibernate все тестировалось, работает и разработчики за такую конфигурацию ручаются - в чем проблема?
2.4. Если есть опасения по поводу Not certificated configuration - то такое уже давно, т.ч. см. пункт 2.1 )))

3. Пути решения, как вижу я на текущей момент:

3.1. Старый JDBC драйвер, что в целом "коряво"
3.2. Не полностью обновлять hibernate, но для меня это выглядит "еще более коряво"
3.3. Посмотреть, как реализуется org.hibernate.dialect.Oracle... и создать свой dialect. Я так понимаю, он должен меняться/подключатся просто через настроечные файлы. Судя по описаниям, там проблема в одной строке (индусы из Oracle, уроды, имена пакетов поменяли).

IMHO
...
Рейтинг: 0 / 0
проблема с Hibernate/драйвер при переходе с Oracle-11g на 12с!
    #39165847
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczПроект - загадка. Oracle обновляется регулярно, а вот JBoss за 10 лет обновить так и не собрались?
+
...
Рейтинг: 0 / 0
25 сообщений из 62, страница 1 из 3
Форумы / Java [игнор отключен] [закрыт для гостей] / проблема с Hibernate/драйвер при переходе с Oracle-11g на 12с!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]