Cast Query.uniqueResult() to Integer

Existe alguma restrição quanto a conversão de um Query.uniqueResult() do Hibernate para um Integer?

Sempre que tento fazer isso mesmo o resultado sendo um Inteiro recebo um BigDecimal cast exception.

A única maneira de contornar isso foi convertendo o Query.uniqueResult() para BigDecimal.

Gostaria de saber porque isso acontece.

Depende da query. Você precisa saber o que vai ser retornado para dar o cast correto.

O valor que está no banco é um inteiro.

Agora o que quero saber é se a Query do HIBERNATE, fazendo um Query > createSQLQuery > uniqueResult()

Tem alguma restrição de formato, porque só consigo fazer um cast em um BigDecimal ou recebo uma bela de uma BigDecimal cast exception.

Qual o tipo do campo no banco?

No Oracle: Number de 8

Na Classe: int

Posta também o mapeamento desse atributo por favor.

Long valor = (Long.valueOf(query.uniqueResult().toString()));

É preciso saber como está o mapeamento, e se você está usando Criteria, HQL ou SQLQuery.