Sus propias características geográficas los protegieron de una invasión.
This information is correct
In Spanish, when you want to say "I hate that I love you" you say " Yo odio que te amo." or to be clearer "Odio que te amo" or also "Odio amarte"
Have a good day! Also, I see that you ask several Spanish questions (: