What do you need to upgrade generals once they reached 120?
you can Upgrade (awakening) the general with gem, gold, or wine (event "Discuss Heroes / Wine and Friend")
The thing u mostly need is LUCK. Only that :)
When your at the stage with silk also in play the general eating gems isn't the worst thing they do pass some silk back for eating gems. I'm still resentful that my generals have eaten in the region of 4mil gems and only upgraded one of them.