Consulta de doutrina do Symfony2

Sou novo no symfony2, não sei como escrever uma consulta abaixo no symfony2 usando createQuery ()

select * from Post inner join Category on Post.category_id=Category.id inner join Priority on Post.priority_id=Priority.id order by priority_number desc

Eu usei a classe repository, na qual escrevi uma função

public function findAllOrderedByPriorityPost()
    {

        return $this->getEntityManager()
                ->createQuery('select p,c,pr from RodasysfourmBundle:Post p inner join 
RodasysfourmBundle:Category c  inner join RodasysfourmBundle:Priority pr order by pr.priorityNumber desc')
                ->getResult();
    }

Quando usei essa função, obtive o erro abaixo

[Semantical Error] line 0, col 85 near 'c inner join': Error: Identification Variable RodasysfourmBundle:Category used in join path expression but was not defined before. 

Também qual método é melhor usar essa consulta em um repositório personalizado ou como um serviç

qualquer ajuda apreciada.

questionAnswers(1)

yourAnswerToTheQuestion