Tyvärr kan du inte använda JPA-underfrågans resultat i from-klausulen. Varken i Criteria-frågor eller i JPQL. Detta ser ut som det största problemet med att översätta din fråga till en JPA-fråga.
För det andra finns det ingen Round
funktion heller. Men det borde inte vara ett problem att övervinna detta genom att använda CriteriaBuilder#selectCase()