Как я могу получить доступ к базе данных родной java.sql.Connection? - PullRequest
2 голосов
/ 15 января 2010

Я использую WASCE в качестве сервера приложений и определил источник данных для PosgreSQL. Я получаю соединение с БД от JNDI.

Проблема в том, что я хочу получить доступ к определенному методу в java.sql.Connection PostgreSQL, но WASCE обернул это соединение своим собственным подключением.

В частности, я хочу сделать что-то вроде этого:

((org.postgresql.Connection)conn).addDataType("geometry","org.postgis.PGgeometry");
((org.postgresql.Connection)conn).addDataType("box3d","org.postgis.PGbox3d");

Это возможно? Если да, пожалуйста, поделитесь, как.

EDIT:

Я ожидаю, что у этого обернутого Соединения будет что-то вроде доступа к исходному Соединению, но я пока не могу его найти.

Ответы [ 2 ]

3 голосов
/ 15 января 2010

Вы можете попробовать

((PooledConnection) conn).getConnection()

Или, начиная с Java 1.6:

conn.unwrap(...)
3 голосов
/ 15 января 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...