powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate как OSGi-бандл не видит драйвер БД
4 сообщений из 4, страница 1 из 1
Hibernate как OSGi-бандл не видит драйвер БД
    #39609588
Мистер Шляпа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Решил использовать Hibernate в виде OSGi-бандлов. Подключил их, запустил, пробую:

Код: java
1.
2.
3.
4.
5.
	
Configuration configuration = new Configuration();
configuration.setProperty(LOGIN_PROPERTY, "MyLogin");
configuration.setProperty(PASSWORD_PROPERTY, "MyPassword");
configuration.configure(myBundle.getResource("hibernate.cfg.xml")).buildSessionFactory();



и...
получаю ошибку:

java.lang.ClassNotFoundException: Could not load requested class : oracle.jdbc.OracleDriver
at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$AggregatedClassLoader.findClass(ClassLoaderServiceImpl.java:336)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)


вот мой конфиг:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<hibernate-configuration>
 <session-factory>  
   <property name="hibernate.connection.driver_class">oracle.jdbc.OracleDriver</property>  
  	<!-- JDBC connection pool (use the built-in) -->

   <property name="hibernate.connection.url">jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(SOURCE_ROUTE=yes)(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.200.1)(PORT=1630))(ADDRESS=(PROTOCOL=TCP)(HOST=MYDB)(PORT=1522)))</property>
   <property name="hibernate.dialect">org.hibernate.dialect.Oracle12cDialect</property>
   <property name="show_sql">true</property>
   
   <property name="hibernate.transaction.auto_close_session">true</property>
   
    <!-- Enable Hibernate's automatic session context management -->
   <property name="current_session_context_class">thread</property>
    
 </session-factory>
</hibernate-configuration> 



Понимаю, что бандл org.hibernate.core не находит класс oracle.jdbc.OracleDriver.
Как быть? Допустим, я загружу его через Class.forName, а дальше как?
...
Рейтинг: 0 / 0
Hibernate как OSGi-бандл не видит драйвер БД
    #39609596
ferc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
попробуйте включить dynamic import в вашем банле
или
вам нужно загрузить jdbc драйвер в osgi среду
и в pom.xml вашего бандла указать <Import-Package>oracle.jdbc.driver,*</Import-Package>
...
Рейтинг: 0 / 0
Hibernate как OSGi-бандл не видит драйвер БД
    #39609626
Мистер Шляпа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferc,

Спасибо за наводку! Сделал так:

Код: java
1.
2.
3.
4.
OsgiClassLoader ocl = new OsgiClassLoader();
Thread.currentThread().setContextClassLoader(ocl);
ocl.addBundle(myBundle);
ocl.loadClass("oracle.jdbc.OracleDriver");



Драйвер нашелся, однако теперь ошибка такая:


java.sql.SQLRecoverableException: Ошибка ввода/вывода: NL Exception was generated
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:673)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:715)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:385)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:30)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:564)
at org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:38)
... 45 more

Это означает проблему в настройке соединения? Я правильно понимаю?
...
Рейтинг: 0 / 0
Hibernate как OSGi-бандл не видит драйвер БД
    #39609646
ferc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мистер Шляпа,
вроде как да.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate как OSGi-бандл не видит драйвер БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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