5

以下は、特定のタイプのクラスの HQL クエリです。

select a from Animal a
where TYPE(a) in ('Cat', 'Dog')
and a.sex = 'Male'
order by a.name


select a from Animal a
where a.class in ('Cat', 'Dog')
and a.sex = 'Male'
order by a.name

QueryOverを使用して同等のものがあるのだろうか?

4

1 に答える 1

5

GetTypeこれを実現するために、IsInQueryOver 拡張メソッドを使用できます。

session.QueryOver<Animal>()
    .Where(a => a.GetType().IsIn(new[] { "Cat", "Dog" })
    /* .. etc */

NHibernate マッピングが使用する識別子の値を使用する必要があります。

于 2012-07-16T14:15:18.770 に答える