2

我有超级模型Animal ,它有像CatDog这样的子类 。我在 hbm 文件中定义了带有鉴别器的CatDog子类。现在我想加载所有动物并通过 dao 启用休眠过滤器,但每个子类都有不同的过滤条件。

示例 hbm 文件

    <hibernate-mapping>
        <class discriminator-value="type" name="Animal" table="Animal" >

          <discriminator column="discriminator" type="string" not-null="true" />
          <property name="name" column="name" type="string" not-null="true" />

          <subclass discriminator-value="cat" name="Cat">
            <property name="a" column="cat_a" type="string"  />
          </subclass>
          <subclass discriminator-value="dog" name="dog">
            <property name="b" column="dog_b" type="string"  />
          </subclass>

          <filter name="animal_filter" condition="..."/>

        </class>
    </hibernate-mapping>

每个子类和加入的子类都有休眠过滤器定义吗?有替代解决方案吗?

4

0 回答 0