我在Fluent,NHibernate和Spring.net面临着一个奇怪的问题。我的项目是ASP.NET MVC 2.0(.net 4.0)项目。
我基于Spring.net Nhibnernate Northwind项目创建了我的项目。我也在本页http://blog.bennymichielsen.be/2009/01/04/using-fluent-nhibernate-in-spring-net上建议使用基于Fluent代码的映射。
当我将 tx:属性驱动应用于我的spring上下文xml文件时,它会破坏应用程序。 LocalSessionFactoryObject未在我的DAO中注入。我尝试从上下文手动拉取SessionFactory,应用程序工作,但事务不回滚。
如果我删除 tx:属性驱动属性,该应用程序可以运行,但当然不会回滚事务。日志不显示任何错误。由于应用程序没有属性,我猜我的大部分配置都应该没问题。
有没有人成功使用Fluent,Nhibernate和Spring.net与Transactions交换?
如有必要,我可以提供有关我的设置的更多详细信息。
答案 0 :(得分:1)
我自己想通了。如果其他人遇到交易问题或任何弹簧提供的与AOP相关的功能,请确保您是针对接口编程而不是具体类。不知怎的,我错过了这个。如果您使用具体的类,您的代码将无法使用Spring创建的特殊代理,并且TX管理等功能将无法使用。
答案 1 :(得分:0)
@Ketan。
如果你的域实体等于数据库表,你可以使用Nhibernate Fluent项目中的Automapping ...这是自动化的类......易于使用。看看这个:https://github.com/FluentNHibernate/fluent-nhibernate/wiki/Auto-mapping