Sorry to be a dick, but a lot of the things in life happen because of how you position yourself towards them. In this case, the lad is clearly a virgin or attention-seeker, and thus all you ever needed to do was tell him that you aren't up for talking, that's it.
Your problem stems from the fact that you don't want to be direct towards others, maybe because you want every person, including creeps like him, to perceive you as "good", as is very common. Sadly, unless you get rid of that superficial attitude, you won't get rest from people such as him, and thus have no reason to complain on a forum.