Dúvida com JPA (valor de retorno de uma query)

Estou lendo o Enterprise JavaBeans 3.0 e testei no eclipse essa query que está no livro:

Query isReserved = query.createQuery("SELECT COUNT(res) FROM Reservation res WHERE :cabin MEMBER OF res.cabins AND res.cruise = :cruise"); isReserved.setParameter("cabin", cabin); isReserved.setParameter("cruise", cruise); int count = (Integer) isReserved.getSingleResult();

mas quando tento executá-la ele gera exception e fala que um Integer não pode ser convertido para Long, mostrando que funções como o COUNT neste caso retornam Long e não Integer. Queria saber se isso é vendor-specific (por eu estar usando o mySQL) ou se é erro do livro mesmo ? valeu !