【发布时间】:2010-04-01 09:21:41
【问题描述】:
我正在定义一个 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'"/>
它工作正常,数据被正确过滤。
使用默认条件的正确方法是什么?
【问题讨论】: