При ThreadLocalSessionContext
текущий сеанс (sessionFactory.getCurrentSession()
) создается и сохраняется в ThreadLocal
.Это работает в любой среде, потому что ThreadLocal
- это JavaSE.
JTASessionContext привязывает текущий сеанс к транзакции JTA.Транзакция JTA обеспечивает ловушку для очистки, в отличие от локального потока.Это доступно в средах с JTA, таких как сервер приложений.
Все это объясняется в javadocs двух классов. здесь и здесь