Está buscando padres donde existen dos registros secundarios específicos. Use la cláusula EXISTS para eso:
SELECT *
FROM parent p
WHERE EXISTS (select * from join_table j where j.parent_id = p.id and j.child_id = 1)
AND EXISTS (select * from join_table j where j.parent_id = p.id and j.child_id = 2);