Один и тот же запрос невозможен в простом JPQL / HQL, но есть два способа получить один и тот же результат
1) Напишите собственный запрос и сопоставьте его с сущностью Cat.
2) Создайте представление и создайте подкласс сущности Cat для сопоставления с представлением.
Я прекрасно понимаю, что ни одно из решений не является идеальным, но ни Hibernate, ни JPA не имеют функции для этого сценария, кроме собственного запроса. Я думаю, что вы должны подумать, что является лучшим из этих трех решений, так как это повлияет на ваши интеграционные тесты.