Después de experimentar un poco más, encontré la respuesta.
La palabra "SIN FIRMAR" debe ir después de "TINYINT" en lugar de antes. El campo debe definirse de la siguiente manera:
@Size(max = 3)
@Column(name = "WorkingHours", columnDefinition="TINYINT(3) UNSIGNED default '40'")
private Integer workingHours;
No estoy seguro de por qué es esto, lo he descubierto solo a través de prueba y error. Tal vez alguien más pueda proporcionar una referencia de por qué sucede esto.