Na wat meer geëxperimenteerd te hebben, vond ik het antwoord.
Het woord "UNSIGNED" moet komen na "TINYINT" in plaats van ervoor. Het veld moet als volgt worden gedefinieerd:
@Size(max = 3)
@Column(name = "WorkingHours", columnDefinition="TINYINT(3) UNSIGNED default '40'")
private Integer workingHours;
Ik weet niet zeker waarom dit zo is, ik heb dit alleen met vallen en opstaan ontdekt. Misschien kan iemand anders een referentie geven waarom dit zo is.