需要帮助合并2个HQL查询

时间:2011-12-07 17:09:55

标签: nhibernate hql

我无法弄清楚如何在HQL中将其优化为一个查询。目前,我有以下2个HQL查询。他们都返回我想要的结果,我可以将这些结果合并到C#中,并做我需要的。但是,必须有一些方法来生成单个查询以返回所有结果。到目前为止我尝试的所有内容或者只生成错误或者给出了2个结果集的交集。我敢肯定我只是错过了一些小事。感谢。

SELECT u FROM UserImpl u INNER JOIN u.Friends f WHERE f.State = :state AND f.Gender = :gender
SELECT u FROM UserImpl u INNER JOIN u.Relatives r WHERE r.State = :state AND r.Gender = :gender

1 个答案:

答案 0 :(得分:1)

我认为以下应该有效:

SELECT u FROM UserImpl u 
LEFT JOIN u.Friends f 
LEFT JOIN u.Relatives r 
WHERE f.State = :state 
AND (f.Gender = :gender OR r.Gender = :gender)