@Override @Transactional(value = "transactionManager") public int count() { String entityName = getEntityName(type); Query query = entityManager.createQuery("SELECT count(*) FROM " + entityName + " instance"); Long resultAsLong = (Long) query.getResultList().get(query.getFirstResult()); return resultAsLong.intValue(); }