Po kilku dalszych eksperymentach znalazłem odpowiedź.
Słowo „BEZ PODPISU” powinno następować po „TINYINT” zamiast przed nim. Pole należy zdefiniować w następujący sposób:
@Size(max = 3)
@Column(name = "WorkingHours", columnDefinition="TINYINT(3) UNSIGNED default '40'")
private Integer workingHours;
Nie jestem pewien, dlaczego tak jest, odkryłem to tylko metodą prób i błędów. Może ktoś inny może podać odniesienie, dlaczego tak jest.