Да, вы можете вернуть скалярные типы из запросов JPQL
long num = ((Number)em.createQuery("select count(e) from Employee e")
.getSingleResult()).longValue();
, а также из собственных запросов SQL:
long num = ((Number)em.createNativeQuery("select count(*) from Employees")
.getSingleResult()).longValue();
Обратите внимание, что в некоторых случаях тип результата может зависетьбаза данных, т.е. это может быть что-то вроде BigDecimal
.