Use that where it refers to an object, and is a restrictive clause (meaning, if you left the word out of the sentence, the meaning of the sentence would change):
I want the hat that has the giant flower in the band.
Use which where it refers to an object, and is a non-restrictive clause (meaning, if you left the word out of the sentence, the meaning of the sentence wouldn't change):
I have a lovely new hat, which has a giant flower in the band.
Use who where you are referring to a person:
I saw a lady who was wearing a lovely new hat.
I'm having trouble answering your question more directly, because I can't really understand your sentence. I'm not sure whether you are referring to dolls in the sense of toys (in which case you should use that because "know for a long time" is a restrictive clause), or in the slang sense for women (in which case it should be who, and I would probably recommend that you find a less sexist term!).
have known
, alsoother boys or another boy. Not another boys