【问题标题】:Fluent mappings and Spring .NET transactions not working togetherFluent 映射和 Spring .NET 事务不能一起工作
【发布时间】:2011-05-16 18:20:45
【问题描述】:

我在使用 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

当我将 tx:attribute-driven 应用到我的 spring 上下文 xml 文件时,它会破坏应用程序。 LocalSessionFactoryObject 没有注入到我的 DAO 中。我尝试从上下文中手动拉出 SessionFactory,应用程序工作但事务没有回滚。

如果我删除 tx:attribute-driven 属性,应用程序可以工作,但当然交易不会回滚。日志不显示任何错误。由于应用程序在没有该属性的情况下工作,我猜我的大部分配置应该没问题。

有没有人成功地将 Fluent、Nhibernate 和 Spring.net 与 Transactions 结合使用?

如有必要,我可以提供有关我的设置的更多详细信息。

【问题讨论】:

    标签: nhibernate transactions spring.net fluent


    【解决方案1】:

    我自己想通了。如果其他人在事务或任何 Spring 提供的与 AOP 相关的特性方面遇到问题,请确保您是针对接口而不是具体类进行编程。不知怎的,我错过了这个。如果使用具体类,您的代码将无法使用 Spring 创建的特殊代理,并且无法使用 TX 管理等功能。

    【讨论】:

      【解决方案2】:

      @Ketan.

      如果您的域实体等于数据库表,您可以使用 Nhibernate Fluent 项目中的自动映射...这是自动映射的类...易于使用。看看这个:https://github.com/FluentNHibernate/fluent-nhibernate/wiki/Auto-mapping

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-12-31
        • 2020-03-21
        • 2021-11-19
        • 2013-10-13
        • 1970-01-01
        • 2019-04-28
        • 2016-12-14
        • 2014-11-25
        相关资源
        最近更新 更多