0

我有以下映射:

<class name="Animal" table="Animal" abstract="true">

    <id name="Id" column="Id" type="Guid">
       <generator class="guid.comb"/>
    </id>

    <joined-subclass name="Dog" table="Dog" lazy="false">
       <property name="Name" column="Name" type="String" length="100" not-null="true"/>
    </joined-subclass>

    <joined-subclass name="Cat" table="Cat" lazy="false">
       <property name="Name" column="Name" type="String" length="100" not-null="true"/>
    </joined-subclass>
</class>

这是我的搜索条件:

Sessoion.CreateCriteria("Animal")
    .Add(Restrictions.Eq("Name", "Pluto"))
    .List<Animal>();

由搜索条件生成的查询仅在 Dog 表中查询 Name = "Pluto"。它不会查询 Cat 表。

有人知道如何查询 Name="Pluto" 的两个表吗?

4

1 回答 1

0

您使用的是哪个版本?我在使用 Hiberante 3.3 时遇到了同样的问题,恐怕我必须找到一种解决方法,因为这是一个已知的错误:

https://hibernate.atlassian.net/browse/HHH-4829

于 2013-04-23T13:56:11.957 回答