select distinct gl 
from GeneralLedger as gl left join gl.accountCredit as credit left join gl.accountDebit as debit  
where gl.glCategory = :GLCategory  
and debit.accountNumber = :ACCOUNTS or credit.accountNumber= :ACCOUNTS  
order by gl.transactionNumber asc 
以上是hibernate的hql:
在这里有三个表:gl,debit,credit.    debit和credit跟gl表都有关联关系
我想查出在debit或credit的accountNUmber = "1001" 且 gl表中glCategory = "abc"的数据   
但是按照上面的语句查的话,得到的结果不满足glCategory = "abc",即有些glCategory 不是“abc”的数据也被查出来了。