Hibernate过滤器的默认条件

时间:2010-04-01 09:21:41

标签: java hibernate filter

我正在定义一个Hibernate过滤器,它指定一个默认条件,如下所示:

<filter-def name="IsDeletedFilter" condition="IsDeleted = 'false'" />

在我的实体映射中,我将过滤器关联起来:

<filter name="IsDeletedFilter" />

根据documentation,过滤器应该以这种方式应用默认条件。但是,当我尝试执行此操作时,Hibernate在尝试解析实体映射时会抛出NullPointerException。堆栈跟踪显示:

  

引起:java.lang.NullPointerException   在org.hibernate.cfg.HbmBinder.parseFilter(HbmBinder.java:2957)

但是,如果我直接在实体映射中指定条件,如下所示:

<filter name="IsDeletedFilter2" condition="IsDeleted = 'false'"/>

它工作正常,数据被正确过滤。

使用默认条件的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

这是一个错误。可能的解决方法是在另一个文件中定义过滤器并包含它。 http://opensource.atlassian.com/projects/hibernate/browse/HHH-2488