EntityManager em = begin();
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Inventory> q = cb.createQuery(Inventory.class);
Root<Inventory> inv = q.from(Inventory.class);
q.select(inv);
Expression<Integer> inStock = cb.diff(
inv.get(Inventory_.supplied),
inv.get(Inventory_.sold));
q.orderBy(cb.asc(inStock));
List<Inventory> result = em.createQuery(q)