2010-11-28 2 views
1

У меня возникла странная проблема с Fluent, NHibernate и Spring.net. Мой проект представляет собой проект ASP.NET MVC 2.0 (.net 4.0).Свободные сопоставления и транзакции Spring .NET не работают вместе

Я создал свой проект на основе проекта Spring.net Nhibnernate Northwind. Я также использую сопоставления на основе Fluent, как показано на этой странице http://blog.bennymichielsen.be/2009/01/04/using-fluent-nhibernate-in-spring-net.

Когда я применяю tx: attribute-driven к моему xml-файлу контекста, он разбивает приложение. LocalSessionFactoryObject не вводится в мои DAO. Я попытался вытащить SessionFactory вручную из контекста, приложение работает, но транзакции не откатываются.

Если я удаляю атрибут tx: attribute-driven, приложение работает, но, конечно, транзакции не откатываются назад. Журналы не показывают никаких ошибок. Поскольку приложение работает без атрибута, я предполагаю, что большая часть моей конфигурации должна быть в порядке.

Кто-нибудь использовал сочетание Fluent, Nhibernate и Spring.net с транзакциями?

В случае необходимости я могу предоставить более подробную информацию о моей настройке.

ответ

1

Я сам это понял. Если у кого-то возникают проблемы с транзакциями или какие-либо пружинные функции, связанные с AOP, убедитесь, что вы программируете против интерфейсов, а не конкретных классов. Как-то мне это не хватало. Если вы используете конкретные классы, ваш код не сможет использовать специальные прокси, созданные Spring, и такие функции, как управление TX, будут недоступны.

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