我的超级模型动物有子类,如 Cat 和 Dog 。 我在hbm文件中使用discriminator定义 Cat 和 Dog 子类。现在我想加载所有 Animal 并通过dao启用hibernate过滤器,但每个子类都有不同的过滤条件。
示例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>
对每个子类和连接子类都有hibernate过滤器定义吗? 有替代解决方案吗?