Я понимаю, этот вопрос задавали много раз, но большинство из них не может объяснить мою проблему:Hibernate - не удалось получить транзакции синхронизированные сессии для текущего потока
@RequestMapping("/testing")
public String testing(HttpServletRequest request, final ModelMap model)
{
Transaction ut = session.openSession().beginTransaction();
session.getCurrentSession(); // error here
ut.commit();
return "testing";
}
Почему я получаю ошибку
Could not obtain transaction-synchronized Session for current thread.
Если я аннотирую метод с @Transactional
, он работает отлично. Потому что у меня @EnableTransactionManagement
в моем весеннем контексте.
Я хочу попробовать что-то, чтобы понять разницу между getCurrentSession
и openSession
, поэтому я создал тестовый пример выше.
getCurrentSession
вызывается внутри активного контекста транзакций, почему он все еще бросает мне ошибку ???
См. Код от this.