Как получить соединение jdbc из сеанса спящего режима?
Я хочу получить соединение jdbc из сеанса hibernate. Существует метод внутри сеанса hibernate, т.е. session.connection (); но он устарел. Я знаю, что это работает еще, но я не хочу использовать устаревший метод, так как я уверен, что они должны предоставить альтернативу для этого? В http://docs.jboss.org/hibernate/orm/3.5/api/org/hibernate/Session.html методе соединения api говорит, используя using org.hibernate.jdbc.Work для этой цели, но я не нашел для этого примера?
- Как работает PreparedStatement Java?
- Войдите в базу данных, используя log4j
- Путь JNDI Tomcat против Jboss
- Добавление драйвера jdbc в путь к classам
- Java JDBC - Как подключиться к Oracle с использованием Service Name вместо SID
- java.sql.SQLException: перед началом набора результатов
- Использование подстановочного символа «like» в подготовленном сообщении
- Формат строки URL для подключения к базе данных Oracle с JDBC
Вот как вы можете его использовать:
session.doWork(new Work() { @Override public void execute(Connection connection) throws SQLException { //connection, finally! } });
Попробуй это:
((SessionImpl)getSession()).connection()
У меня была аналогичная проблема, и я использовал class ConnectionProvider
для подключения. См. Мое решение:
Session session = entityManager.unwrap(Session.class); SessionFactoryImplementor sessionFactoryImplementation = (SessionFactoryImplementor) session.getSessionFactory(); ConnectionProvider connectionProvider = sessionFactoryImplementation.getConnectionProvider(); try { connection = connectionProvider.getConnection(); ... }