hibernate+c3p0 (или другой пул) - получить оригин. JDBC
От: Foror http://foror.ru
Дата: 18.03.08 17:53
Оценка:
sesssion.connection() возвращает NewProxyConnection сгенерированный класс c3p0 пула. Мне же нужно получить org.postgresql.PGConnection, т.е. Connection для моей СУБД, чтобы выполнить кастомный метод для неё. В моём случае нужно выполнить connection.getLargeObjectAPI(). Как-то можно вытащить org.postgresql.PGConnection?
Re: hibernate+c3p0 (или другой пул) - получить оригин. JDBC
От: Blazkowicz Россия  
Дата: 18.03.08 19:00
Оценка:
Здравствуйте, Foror, Вы писали:

F>sesssion.connection() возвращает NewProxyConnection сгенерированный класс c3p0 пула. Мне же нужно получить org.postgresql.PGConnection, т.е. Connection для моей СУБД, чтобы выполнить кастомный метод для неё. В моём случае нужно выполнить connection.getLargeObjectAPI(). Как-то можно вытащить org.postgresql.PGConnection?


А там разве нет такого метода?
rawConnectionOperation
Re[2]: hibernate+c3p0 (или другой пул) - получить оригин. JD
От: Foror http://foror.ru
Дата: 19.03.08 07:07
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>А там разве нет такого метода?

B>rawConnectionOperation

Есть, но с ним получается вот такой монстр


(LargeObjectManager) ((C3P0ProxyConnection) ((ConnectionWrapper) session.connection()).getWrappedConnection())
.rawConnectionOperation(
                 PGConnection.class.getDeclaredMethod("getLargeObjectAPI", new Class[]{}), 
                 C3P0ProxyConnection.RAW_CONNECTION, 
                 new Object[]{});


Думал, может есть что попроще
Re[3]: hibernate+c3p0 (или другой пул) - получить оригин. JD
От: Blazkowicz Россия  
Дата: 19.03.08 09:12
Оценка:
Здравствуйте, Foror, Вы писали:

F>Есть, но с ним получается вот такой монстр

F>Думал, может есть что попроще

Такой монстр гарантирует что ты таки не сможешь вызвать close() физического соединения. А мог бы если бы пул давал доступ к нему на прямую.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.