拥有一个基于 Hibernate (3.5)/Spring (3.0)/BlazeDS/Flex 堆栈的应用程序,我需要为我的一些域类应用过滤器,如下所示。
@FilterDef(name="notDeletedFilter")
@Filter(name="notDeletedFilter", condition="deleted=0")
public class Item {
private boolean deleted;
//setter and getter
}
这些过滤器应该始终应用在我的应用程序中。 但是,根据 hibernate 文档,默认情况下,不会为给定的 hibernate 会话启用过滤器。
所以我的问题非常简单:我如何为所有 Hibernate 会话启用上面定义的所有 Hibernate 过滤器?是否有在 spring xml 配置文件中配置我的 Hibernate Session 工厂以应用这些过滤器?
如果您使用Spring的HibernateTemplate,一种解决方案是扩展它并重写enableFilters方法。 在其中显式启用您需要的过滤器。
您可以使用AOP(面向方面编程)来配置过滤器。