我正在定义一个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'"/>
它工作正常,数据被正确过滤。
使用默认条件的正确方法是什么?
答案 0 :(得分:0)
这是一个错误。可能的解决方法是在另一个文件中定义过滤器并包含它。 http://opensource.atlassian.com/projects/hibernate/browse/HHH-2488