Hello FEELINLOST,
As a mother of 2 young adults as well as a sister to someone who suffered domestic violence from 2 husbands...I would say that you need to stop wasting your time with someone that is hurting you. It can escalate quickly and your life is worth more than staying just because you have been together so long.
It sounds like "he" needs to talk to someone about his violence. I would recommend a pastor or Christian counselor if you are Christians. If not, a psychologist. You also need to talk with someone and not deal with this on your own. You sound like you blame yourself for his violent outbursts. Nothing you could do or say should cause him to hit you (unless he was defending himself from you attacking him physically).
Since I'm a committed Christian, I have to preach a little to you...if you're not married, there may be a respect and commitment issue. The whole relationship is not right (from God's perspective) and needs to be corrected in some way. You both need Christ, but that's beside the point.
You need to be and feel safe. If you distance yourself and let a few trusted friends or family members know about the situation (for your own protection), you could give him a chance to change (but remember you need to change also). If he doesn't think he needs to change, I would recommended ending the relationship (in as civilized a way possible). If he makes promises, but doesn't do anything to start changing his behavior, watch out.
Please let me know if you need any further advice from me. I'll check back soon.