我正在查看休眠拦截器。它似乎能够拦截保存、更新和删除查询,但无论如何我可以拦截选择查询。
我遇到的问题是,在某些情况下,我会自动将一些额外的 sql 过滤器附加到正在执行的 sql 语句中。
有什么想法吗
谢谢垫
我正在查看休眠拦截器。它似乎能够拦截保存、更新和删除查询,但无论如何我可以拦截选择查询。
我遇到的问题是,在某些情况下,我会自动将一些额外的 sql 过滤器附加到正在执行的 sql 语句中。
有什么想法吗
谢谢垫
拦截器框架只允许您拦截实体操作,如保存、更新和删除。查询本身不会被拦截,只有实体操作(并且选择/查看不计算在内)。
考虑对一组附加到您的 ICriteria 的查询类使用某种继承以满足您的目的。
You can use the where
attribute on the class
tag:
<class name="MyClass" where="deleted=0">
...
</class>
我认为您可以使用自定义 NHibernate 持久化器来实现这一点;但是,我很难找到有关如何编写的示例...