With this query, the items.material object is null/empty.
SaleOrderEntity saleOrder=dao.find(SaleOrderEntity.class)
.fetch("items")
.fetch("items.material")
.fetch("items.orderBExc")
.where()
.idEq(event.getData().getPrimaryKey())
.eq("dr","N")
.eq("cstatus", EBillStatus.APPROVE)
.filterManyRaw("items","orderBExc.num-orderBExc.sendnum-orderBExc.outstocknum>0")
.findOne();