2012-04-26 3 views
0

я хочу использовать спящий режим без весны, я установка Hiberante таким образом:Hibernate управление транзакциями без Spring

<property name="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property> 
<property name="hibernate.current_session_context_class">thread</property> 

Но теперь я получаю это исключение:

org.hibernate.HibernateException: get is not valid without active transaction 

Существует ли способ, чтобы Сплошная транзакция с гибернацией, например, Spring? Должен ли я открывать и закрывать транзакцию вручную?

спасибо.

ответ

2

Ну, не в соответствии с reference guide как минимум. У вас есть различные варианты использования транзакций в управляемой среде, а также в среде JTA, но вам нужно будет закодировать код Transaction

+0

Я хотел бы иметь один сеанс для каждого запроса HTTP, у меня должен быть фильтр в Tomcat открыть закрытую сессию? Я надеялся, что есть что-то сделать автоматически ... спасибо, – Tobia

+0

Я думал о фильтре, чтобы открыть и закрыть ... это хороший выбор для вас? – Tobia

+0

Да, это один из способов, рекомендованных в справочном руководстве. АОП - это еще один способ. sessionFactory.getCurrentSession() - новое дополнение в Hibernate 3, что делает очень удобным получение сеанса для текущей транзакции, на уровне сохранения. –

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