Просто интересно, если начало новой транзакции в Hibernate фактически назначает соединение с БД?Запускает ли startTransaction в Hibernate новое соединение с БД?
Я обеспокоен b/c наш сервер начинает новую транзакцию для каждого полученного запроса, даже если этот запрос не взаимодействует с БД. Мы видим связи с БД в качестве основного узкого места, поэтому мне интересно, не стоит ли мне тратить время на сокращение объема транзакций.
Искал везде и не смог найти ответ. Очень простой код находится здесь:
SessionFactory sessionFactory = (SessionFactory) Context.getContext().getBean("sessionFactory");
sessionFactory.getCurrentSession().beginTransaction();
sessionFactory.getCurrentSession().setFlushMode(FlushMode.AUTO);
спасибо большое!
Спасибо, мы уже используем пул соединений. Не начав транзакцию по умолчанию, мы смогли значительно уменьшить нагрузку на нашу базу данных. – illscience
Фактически, соединение загружается в «сеанс». См. Мой ответ для деталей. –
@Pascal Thivent hm, интересный и логичный :) @illscience, пожалуйста, измените принятый ответ – Bozho