Eu sei que essa pergunta é (realmente!) antiga, mas:
TINYINT representa valores de 8 bits. É mapeado para byte/Byte. Tem um valor mínimo de -128 e um valor máximo de 127 (inclusive) em ambos os casos.
SMALLINT representa valores de 16 bits. Está mapeado para curto/curto.
INTEGER representa valores de 32 bits. É mapeado para int/Integer.
BIGINT representa valores de 64 bits. Está mapeado para longo/longo.
Portanto, você não pode mapear um tinyint usando um Integer; você deve usar um Byte.
https://docs.oracle.com/javase/tutorial/java /nutsandbolts/datatypes.html http://dev.mysql.com/doc/refman /5.7/en/integer-types.html