2016-01-18 4 views
2

This page из учебника гибернации на jboss.org говорит:Использование Hibernate «нить» контекст сеанса в производстве

Hibernate предлагает три метода текущего отслеживания сеанса. Метод, основанный на потоке, не предназначен для использования в производстве; это просто полезно для прототипов и учебников, таких как этот.

Я не мог найти никаких других источников, указывающих, так или иначе. Это правда? Если да, то почему, и это все еще верно для Hibernate 4.x? И какие контекстные занятия предназначены для использования в производстве?

ответ

1

Hibernate поддерживает следующие варианты управления сеансами:

  • (JTA) org.hibernate.context.JTASessionContext: текущие сеансы отслеживаются и контекстная транзакцией JTA. Обработка здесь точно такая же, как и в более раннем подходе JTA.
  • (thread) org.hibernate.context.ThreadLocalSessionContext: текущие сеансы отслеживаются потоком выполнения.
  • (управляемый) org.hibernate.context.ManagedSessionContext: текущие сеансы отслеживаются потоком выполнения. Однако вы несете ответственность за привязку и отвязывание экземпляра сеанса со статическими методами в этом классе: он не открывает, не скрывает или не закрывает сеанс.

См: http://docs.jboss.org/hibernate/orm/5.0/userGuide/en-US/html_single/#architecture-current-session

Старые реализации, которые используются Hibernate непосредственно часто используют модель «нить за сеанс», даже если они не рекомендуется в настоящее время.

+0

Спасибо за ответ, но на самом деле это не то, о чем я просил. Я хорошо знаю, что существует 3 типа управления сеансом, и в документации говорится, что 1 из них, тип потока, не предназначен для использования в производстве. Мне нужны альтернативные источники для этой информации или объяснение с источником. – Eruza

Смежные вопросы