select b.listNo,b.appGNo,b.trGno,b.complex,b.commName,b.commSpec,b.tradeUnit,b.tradeQty,b.unit,b.qty,b.note,
c.listNo,c.appGNo,c.trGno,c.complex,c.commName,c.commSpec,c.tradeUnit,c.tradeQty,c.unit,c.qty,c.note,
a.companyCode,a.companyName,a.billNo,
a.seqNo,a.appNo,a.declareState ,a.messageIndentureType
from MessageIndentureHead a , KHMessageIndenture b , GYSMessageIndenture c where a.id = c.messageIndentureHead.id and a.id = b.messageIndentureHead.id
and ((a.messageIndentureType = 1 and b.listNo = c.outNo)
or (a.messageIndentureType = 0 and c.listNo = b.outNo))
如上hql代码,查询,会出现先TradeUnit为字段空的记录将不会被查询出来。(MessageIndentureHead拥有对tradeunit的unit表的单向一对多关联)
注意到hibernate根据hql输出的sql如下:
select khmessagei1_.l