Hibernate-HQL帮助优化查询

Hibernate-HQL帮助优化查询,hibernate,hql,Hibernate,Hql,我有一个HQL查询,如下所示: Select ... (around 40 items)... from ATable a left outer join a.subA SubA left outer join a.subB SubB left outer join a.Names Names left outer join Names.Addresses Addresses left outer join Names.Phones Phones left outer join

我有一个HQL查询,如下所示:

Select  
... (around 40 items)...
from 
ATable a 
left outer join a.subA SubA 
left outer join a.subB SubB 
left outer join a.Names Names 
left outer join Names.Addresses Addresses 
left outer join Names.Phones Phones 
left outer join a.Roles Roles 
where 
a.aType.someType in ('...') 
and (Names.id.FKey in('...') or Names.id.FKey is null)  
and upper(a.pin) like upper('some%')  
and upper(Names.lastName) like upper('Some%')  
order by  a.pin    asc  

出于某种原因,这会超时,但hibernate生成的查询(取自日志)在使用Toad时需要5秒钟才能执行。我是冬眠的新手。我非常感谢任何帮助来优化此感谢。

我可以建议两件事:

1] 避免使用“IN”子句。 2] 如果没有必要,请避免使用order by

阿米特:)