Sometimes I hate him so much but I can’t let go

So my partner and me have been together around 3 years now. I should have known in the beginning of the relationship to run but I didnt. He is 70% a guy who worships me, treats me like a princess & would do anything for me. BUT his 30% well that’s the most vile person Iv ever known!!! Lately he has been talking to me like I’m a dog or as though I’m stupid: he tells what to do, his very angry when I do something that ‘annoys’ him, he starts shouting and banging stuff. I’m by no means a push over (or maybe I am) so I will argue back but by doing so he will smash up my home, call me stupid, backwards, a dumb c**t, a child, rotten ect. He always blames me, every argument is my fault, he breaks something and it’s my fault. He can be vile, just a nasty horrible mean human. I don’t no if I’m coming or going sometimes, it’s horrible. Today I asked him what to get out for dinner, immediately he spoke to me as though I was stupid to which I said don’t talk to me like that, straight away the shouting began. But I must admit on this occasion he did say to me to just go visit my mum to avoid an argument and I didn’t. I got to the point of thinking NO why should I, WHY can’t you just sit here and acknowledge how your speaking to me and realise it’s wrong, I should have known right there and then it wouldn’t go down well and it hasn’t , he has now smashed up one of my dining chairs & my chandelier.

This is the man I love to death, who I want a family with, but how can I. He is a product of his environment as a kid. He will never change, iv lived for years hoping he will change, but he won’t will he..

I just want to be happy, not worried about upsetting him. I suppose at some point enough has to actually be enough 😞