在hql中检索多条记录,甚至一些表没有记录

时间:2012-11-22 09:25:46

标签: hibernate hql

我有一种情况,需要从多个表中检索记录,并且某些表可能没有根据条件标准记录  例如: -

select *
from A a, B b, C c, D d, E e 
where a.CERT_REQUEST_ID = '' 
  and a.CERT_OBJ_RLT_CD = '' 
  and b.CERT_ID = a.CERT_OBJ_KEY_ID 
  and b.CERT_TRS_SEQ_NBR = a.CERT_TRS_SEQ_NBR 
  and b.CERT_TRS_SEQ_NBR = c.CERT_TRS_SEQ_NBR 
  and b.CERT_ID = c.CERT_ID 
  and c.CERT_OBJ_KEY_ID = d.CERT_OVERRIDE_ID 
  and e.CERT_WORDING_ID = c.CERT_OBJ_KEY_ID

表E,D有可能没有上述标准的记录。所以在这种情况下我也需要其他表的记录。

我可以通过Left outer join实现这一点,但HQL不支持连接,也没有映射这些表。 那么,如何在hql中实现这一点。请帮助

1 个答案:

答案 0 :(得分:0)

HQL确实支持联接(包括左联接):link

但是,如果未映射表,则无法使用HQL。

您可以在SQL中使用createSQLQuery()