我有超级模型Animal ,它有像Cat和Dog这样的子类 。我在 hbm 文件中定义了带有鉴别器的Cat和Dog子类。现在我想加载所有动物并通过 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>
每个子类和加入的子类都有休眠过滤器定义吗?有替代解决方案吗?