如何在spring应用程序中始终启用我的Hibernate过滤器?

时间:2011-04-05 19:22:38

标签: java hibernate spring hibernate-filters

有一个基于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 documentation,默认情况下,没有为给定的休眠会话启用过滤器。

所以我的问题非常简单:如何为所有Hibernate会话启用上述所有定义的hibernate过滤器?有没有在Spring xml配置文件中配置我的Hibernate Session工厂才能应用这些过滤器?

2 个答案:

答案 0 :(得分:1)

如果您使用的是Spring的HibernateTemplate,一种解决方案是扩展它并覆盖enableFilters方法。在其中,明确启用您需要的过滤器。

答案 1 :(得分:0)

您可以使用AOP(面向方面​​编程)来配置过滤器。