След като експериментирах още малко, намерих отговора.
Думата "НЕПОДПИСАН" трябва да идва след "TINYINT" вместо преди него. Полето трябва да бъде дефинирано по следния начин:
@Size(max = 3)
@Column(name = "WorkingHours", columnDefinition="TINYINT(3) UNSIGNED default '40'")
private Integer workingHours;
Не съм сигурен защо е така, открих това само чрез проба и грешка. Може би някой друг може да даде справка защо е така.