2010-11-28 45 views
1

我面對流利,NHibernate和Spring.net的奇怪問題。我的項目是一個ASP.NET MVC 2.0(.net 4.0)項目。Fluent映射和Spring .NET事務不能一起工作

我創建了基於Spring.net Nhibnernate Northwind項目的項目。我也使用本頁建議的基於Fluent代碼的映射http://blog.bennymichielsen.be/2009/01/04/using-fluent-nhibernate-in-spring-net

當我將tx:屬性驅動的應用到我的spring context xml文件時,它會中斷應用程序。 LocalSessionFactoryObject不會注入到我的DAO中。我嘗試從上下文手動拉取SessionFactory,該應用程序工作但事務不回滾。

如果我刪除了tx:屬性驅動的屬性,該應用程序可以工作,但當然事務不會回滾。日誌不顯示任何錯誤。由於該應用程序在沒有該屬性的情況下工作,我猜測我的大部分配置都應該沒問題。

有沒有人成功使用過Fluent,Nhibernate和Spring.net的組合?

如有必要,我可以提供有關我的設置的更多詳細信息。

回答

1

我想出了自己。如果其他人遇到事務問題或任何Spring提供的與AOP相關的功能,請確保您針對接口而不是具體的類進行編程。不知何故,我錯過了這一點。如果您使用具體類,您的代碼將無法使用Spring創建的特殊代理,並且TX管理等功能將無法使用。