<human>: Can you condense the text into a few key points?

So I've been in a relationship with my girlfriend of 20 years old for around 9 months. In that time we have come very close to having sex a lot of times and have talked about having sex but have never done it. We came close once and she said she wanted to try it, so after a bunch of foreplay I put a condom on and entered her slightly but she then got really upset, freaked out and asked me to stop and started crying, and of course I stopped and started hugging her as she was really upset.

Since then I haven't wanted to try again, every now and then she dry humps me and the sexual drive and attraction is still very much there, it just seems like she is very nervous. I try to talk to her to understand her position and explain to her that I am ready and eager for sex, but I don't want to bug her or pressure her. She says that she is very scared of becoming pregnant and has indicated that maybe she does not want to have sex until she is ready to have kids out of fear of falling pregnant. I then talked to her a lot about contraceptive options - not too sure how to talk about this properly... I wish the tests for male contraceptives would hurry up so I could take one myself! 

It's a struggle because I am a very sexual person, I'm not finding myself looking for other girls or anything like that, but it is a struggle not having sex while being in a relationship. But maybe the answer is I just need to learn discipline and restraint and use this as a lesson? The other half of me is like, maybe you shouldn't be in a relationship because you're 22 and could be experiencing a lot of different girls.

I really don't know how to deal with the situation, and especially how to deal with virginity and the possible loss of virginity. Any advice from people in the same situation, but particularly how to understand and empathize with her side would be really helpful

Thanks for reading :)
<bot>: Girlfriend is a virgin and nervous, I really want to have sex but don't want to push things, how do I approach this?