HIbernate - @Where限制集合的XML配置

1 hibernate

我想使用@Where提供的功能将集合仅限制为状态为ACTIVE的项目.但是,我不能只使用注释xml.因此,我在xml中寻找@Where等效,但我找不到任何东西.

示例(我需要像元素"where"这样的东西)

<hibernate-mapping>
<class name="Teacher" table="teacher" >
    ...

    <bag name="subjects" inverse="true" cascade="save-update">
        <key>
            <column name="id_policy" />
        </key>
        <one-to-many class="Subject" />
        <where>status = 'a'</where>
    </bag>

    ....
</class>
</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)

当然,我可以使用自定义集合加载器,但这对于这样简单的任务来说非常难看.过滤器是一个更合适的选项,但必须为Hibernate会话显式启用它,我只需要始终应用这个"where"子句.

有任何想法吗?

JB *_*zet 6

休眠映射DTD提到的可选where的类元件上,并且对所有的收集元件(设置,包等)属性.它没有在DTD中记录,但考虑到这里写的关于这个"where"属性的内容,我很确定这是你正在寻找的东西.