2

我想在不更改代码的情况下使用休眠拦截器(覆盖 EmptyInterceptor)。

可以从 XML 配置文件中完成吗?

我的 EmptyInterceptor 覆盖类:

public class QueryNumberInterceptor : EmptyInterceptor {
        public override SqlString OnPrepareStatement(SqlString sql) {
            return base.OnPrepareStatement(sql);
        }
}

我的 XML 配置文件:

<config>
    <add key="connection.driver_class" value="NHibernate.Driver.SqlClientDriver, NHibernate"/>
    <add key="dialect" value="NHibernate.Dialect.MsSql2008Dialect, NHibernate"/>
    <add key="connection.connection_string" value="ConnectionString = ${MainConnection}"/>
    <add key="show_sql" value="true"/>
</config>
4

1 回答 1

1

AFAIK,你不能用配置文件注入拦截器。

但是你可以注册一个事件监听器。您可以对事件侦听器执行与拦截器相同的操作。但它是一个不同的概念,因此看起来不同。

于 2013-03-07T14:05:29.890 回答