The 2N3906 has a maximum allowed collector current of 200mA and some work poorly above 50mA. Use a 2N4403 transistor instead that has a maximum allowed collector current of 600mA and its datasheet shows all of them working very well at 150mA and not too bad at 500mA.
hFE is used only when a transistor is a linear amplifier with plenty of collector to emitter voltage so it is not saturated. You want the transistor to saturate so the datasheets show the saturation voltage loss only when the base current is 1/10th the collector current completely disregarding the hFE. Then your base current must be 20mA. The base resistor does not have 5V across it, it has 5V minus the base-emitter voltage that is about 0.85V at a base current of 20mA . Then the base resistor value should be (5V - 0.85V)/20mA= 208 ohms which is not a standard value, use 200 ohms which is a lot different to your calculated 12k ohms.