ListSubQuery<Tuple> subquery = new JPASubQuery()
.from(amounts)
.groupBy(amounts.itemDefinition)
.list(
amounts.itemDefinition.as(QAmount.amount.itemDefinition),
amounts.quantity.sum().as(QAmount.amount.available)
);
JPAQuery query = new JPAQuery(entityManager)
.from(item)
.leftJoin(subquery, QAmount.amount)
.on(item.eq(QAmount.amount.itemDefinition));
List<Tuple> data = query.list(
item,
QAmount.amount.available
);