Sfortunatamente non è possibile utilizzare i risultati delle sottoquery JPA nella clausola from. Né nelle query Criteri, né in quelle JPQL. Questo sembra il problema più grande nel tradurre la tua query in una JPA.
Secondariamente, non c'è Round
funzione, neanche. Ma non dovrebbe essere un problema superare questo problema utilizzando CriteriaBuilder#selectCase()