Я хочу получить соединение jdbc из сеанса спящего режима. Существует метод внутри сеанса hibernate i.e session.connection(); но он устарел. Я знаю, что это работает еще, но я не хочу использовать устаревший метод, так как я уверен, что они должны предоставить альтернативу для этого? В http://docs.jboss.org/hibernate/orm/3.5/api/org/hibernate/Session.html метод соединения api говорит, используя org.hibernate.jdbc.Work для этой цели, но я не нашел для этого примера?Как получить соединение jdbc из сеанса спящего режима?
ответ
Вот как вы можете использовать его:
session.doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
//connection, finally!
}
});
Вопрос: Я получаю ' doWork недействительно без активной транзакции' с этим кодом, как мне начать транзакцию? – OscarRyz
@OscarRyz: если вы используете Spring, '@ Transactional' или' TransactionTemplate' достаточно. В необработанном Hibernate вы должны [запустить 'session.beginTransaction()' вручную] (http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/transactions.html#transactions-basics). –
Привет, приятель. Хороший ответ, но doWork() также устарел. – Logicalj
У меня была аналогичная проблема, и я использовал ConnectionProvider
класс, чтобы получить соединение. Смотрите мое решение:
Session session = entityManager.unwrap(Session.class);
SessionFactoryImplementor sessionFactoryImplementation = (SessionFactoryImplementor) session.getSessionFactory();
ConnectionProvider connectionProvider = sessionFactoryImplementation.getConnectionProvider();
try {
connection = connectionProvider.getConnection();
...
}
Попробуйте это:
((SessionImpl)getSession()).connection()
Кому-то, кто попадает сюда не у дел (как и я): ['Session.connection'] (http://docs.jboss.org/hibernate/core/3.5/api/org/ hibernate/Session.html # connection% 28% 29) метод в настоящее время устарел. – Dinei
никогда не бросается на Impl! его внутренний! (Org.hibernate.internal.SessionImpl). И вы больше не можете тестировать этот код с макетом. Это плохо по многим причинам. – Rainer
- 1. Когда я получаю соединение jdbc из сеанса спящего режима, правильно закрыть соединение jdbc?
- 2. Должно ли закрываться соединение, полученное из сеанса спящего режима?
- 3. Как использовать обработку сеанса спящего режима
- 4. Как преобразовать (JDBC) Результат для спящего режима?
- 5. Сбой начального сеанса спящего режима
- 6. Установка сеанса спящего режима в Tomcat
- 7. Как сделать соединение с использованием спящего режима
- 8. Что означает «прокси» для сеанса спящего режима
- 9. исключение из спящего режима
- 10. Как получить имя класса из спящего режима?
- 11. Получить статус спящего режима
- 12. Изоляция пружинной транзакции JDBC из транзакции спящего режима
- 13. Requestfactory спящего режима сеанса за просьбу
- 14. Странное поведение при закрытии сеанса спящего режима
- 15. Подпружиненное соединение спящего режима в ireport
- 16. Критерий спящего режима и множественное соединение
- 17. Получить DB Длина столбца из спящего режима?
- 18. Слияние объекта, созданного с предыдущего сеанса спящего режима, в текущий сеанс спящего режима
- 19. Метод спящего режима Hibernate
- 20. Чтение свойств спящего режима из Web.config
- 21. Варианты слияния спящего режима
- 22. Как получить запрос с критериями спящего режима?
- 23. Извлечение объекта из спящего режима
- 24. Как использовать соединение в условиях спящего режима после ситуации
- 25. Конфигурация спящего режима Dropwizard
- 26. Параметры подключения спящего режима
- 27. Начальный номер спящего спящего режима
- 28. Как получить многоразовые критерии для спящего режима.?
- 29. Как получить запись с использованием спящего режима
- 30. Исключение из вставки спящего режима
Если кто-то помечает вопрос как дубликат пожалуйста, укажите ссылку на один из других вопросов, на которые уже есть ответ, –