Was I right to forgive him?

So recently me and my boyfriend have been going through a really good patch in our relationship. I feel like everything is falling into place and we’re learning how to work with each other. I’m 19 and we’ve been dating for two years, he was my first boyfriend. I really plan on marrying this dude and he makes me happy everyday.

My boy, let’s call him Q, is a very moral good man, but he wasn’t always like that. When I met him and we were in our flirty stage I asked him if he was a virgin. He said yes. Our two years I have believed we were both virgins and we took each other’s virginities.

Last night he tells me that he had something he’s been scared to tell me for a while and he told me that he wasn’t a virgin when we met.

Of course I was extremely hurt, I felt betrayed. It’s not that I would’ve cared if he had told me in the beginning but he hid it from me for 2+ years. He told me that he’s wanted to tell me for a while but he’s blocked it out and forgot until I reminded him last night.

What he tells me about the night is that it was a random girl that he didn’t really know and that it was never more than a one night stand. He said that he doesn’t tell people about it because he’s ashamed and when I asked in the beginning he didn’t tell me because he didn’t realize how close we would get. I trust him on this completely, but how am I supposed to feel? He lied to me for years.

I’m so hurt but I don’t know if I would’ve would’ve done differently if I was in that position. I really just need help sorting out my thoughts.