日期:2014-05-16  浏览次数:20527 次

spring.ne框架,继承NHibernate,现在想实现nhibernate中的拦截器,拦截其中的增删改,但是写的拦截器如何才能注入session
spring.net框架,集成了nhibernate,集成的太好了,session都是统一管理的,这样当然spring会进行最大限度的性能优化。 我随便写的个拦截器类:
public class HiberInterceptor : EmptyInterceptor
    {

        public override bool OnSave(object entity, object id, object[] state, string[] propertyNames, NHibernate.Type.IType[] types)
        {
            string aa = "执行中";
            return true;
        }

        public override NHibernate.SqlCommand.SqlString OnPrepareStatement(NHibernate.SqlCommand.SqlString sql)
        {
            return base.OnPrepareStatement(sql);
        }
    }
网上查改资料,得知使拦截器生效有如下两种方法:
session = sessionFactory.OpenSession(new MyInterceptor());

或者用下面的方法为SessionFactory设置一个全局拦截器
new Configuration().SetInterceptor(new MyInterceptor());

但是我这session、sessionfactory都是spring.net给统一集成好了,HibernateTemplate也管理的很好。我没法手动也没那能力去修改spring.net的源码啊!而且我也不知道通过配置的方式可以可以让拦截器生效,怎么配置也不知道。恳请高人给予解答!分只有这么多了,全散了!
提出别的方案的,什么log4j的请不要回复,只解决我的问题就好。
------解决方案--------------------
已经实现,谢谢关注