Doctrine2: O que há de errado com a associação entre essas entidades?

stou tentando trabalhar com exemplos simples para ver todas as alterações no Doctrine

Observe os seguintes trechos de entidade:

VCat.php

namespace Application\Models;

/**
 * @Entity
 * @Table(name="v_cat")
 */
class VCat
{
    /** 
     * @Id @Column(type="bigint")
     * @GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @OneToMany(targetEntity="VScat", mappedBy="vCat")     )
     */
    private $vScats;

namespace Application\Models;

VScat.php

namespace Application\Models;
/**
 * @Entity
 * @Table(name="v_scat",indexes={@index(name="FK_v_scat",columns={"vcatid"})})
 */
class VScat
{
    /** 
     * @Id @Column(type="bigint")
     * @GeneratedValue(strategy="AUTO")
     */
    private $id;


    /**
     * @ManyToOne(targetEntity="VCat", inversedBy="vScats")
     * @JoinColumn(name="vcatid", referencedColumnName="id")
     */
    private $vCat;

vcatid é a coluna Chave estrangeira na tabela v_scat

Esta é a consulta que estou tentando executar:

$categories = Zend_Registry::get('em')
        -> createQuery('select c.name, sub.name as sub_name from \Application\Models\VCat c JOIN c.VScat sub WHERE sub.active = 1 and c.active = 1 and c.id = sub.vcatid')
        -> getResult();

E este é o erro:

(string:130) [Semantical Error] line 0, col 69 near 'sub WHERE sub.active': Error: Class Application\Models\VCat has no association named VScat

Parece certo, mas obviamente estou perdendo alguma cois

ATUALIZA Agora recebo esse erro, que se refere ao nome da coluna da tabela no mysql. Isso está incorreto? Pensei que precisava informar ao Doctrine de alguma forma que essa propriedade pertence a esse campo no banco de dado

 Error: Class Application\Models\VScat has no field or association named vcatid

questionAnswers(1)

yourAnswerToTheQuestion