2013-04-10 3 views
1

я встречаю проблему, когда я использую спящий режим без весны, я всегда пишу следовать конфигурации в hibernate.cfg.xml:Spring сочетаются с Hibernate

<property name="current_session_context_class">thread</property> 

это связать seesion с thread.But При использовании спящего режима togther with Spring, я не знаю, как реализовать ту же конфигурацию, я также пишу ее в applicationContext.xml, но это не работает. бросить исключение:

org.hibernate.HibernateException: Нет Hibernate Session обязан нить, и конфигурация не позволяет создавать нетранзакционного один здесь

На самом деле я просто хочу, чтобы связать сессию для потоковой передачи, тогда я могу использовать метод getcurrentSession sessionfactory. Кто-то встретил ту же проблему, что и я, как ее решить. Спасибо большое

ответ

0

Попробуйте добавить аннотацию @Transactional на свой метод, который использует спящий режим s ession.

Кажется, что ваши методы требуют транзакции.


Существует множество способов настройки использования транзакции весной.

Ниже приведена одна из них.

Просто фрагмент, поэтому вы должны использовать этот код на своем пути.

<tx:annotation-driven/> 

<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager" 
     p:sessionFactory-ref="sessionFactory" /> 

Для получения дополнительной информации см. SpringMVC 3.2 hibernate docs.

+0

Прохладный, но я немного смущен, в соответствии с вашей конфигурацией и доктором весны, кажется, что весна не поддерживает привязку сеанса к потоку, правда? Это немного беспорядок, когда объединенная весна с другими фреймами –

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