Symfony2 / Doctrine2 - Get rows not present in other side of relation
===

I´ve got 2 entites, with its setters and getters:

    /**
     * @ORM\Entity
     * @ORM\Table(name="users")
     */
    class User
    {
        /**
         * @ORM\Id
         * @ORM\Column(type="integer")
         * @ORM\GeneratedValue(strategy="AUTO")
         */
        private $id;

        /**
         * @ORM\OneToMany(targetEntity="SRC\PurchaseBundle\Entity\Purchase", mappedBy="user", cascade={"all"})
         */
        private $purchases;
        
        ...
    }

    /**
     * @ORM\Entity
     * @ORM\Table(name="purchases")
     */
    class Purchase
    {
        /**
         * @ORM\Column(type="integer")
         * @ORM\Id
         * @ORM\GeneratedValue(strategy="IDENTITY")
         */
        private $id;

        /**
         * @ORM\ManyToOne(targetEntity="SRC\UserBundle\Entity\User", inversedBy="purchases", cascade={"all"})
         */
        private $user;

        ...
    }

I´d need to select all missing purchases for the user.
I´ve already achieved this by getting all existing purchases and checking, one by one, they doesn´t exist in **$user->getPurchases()**.

Does exist a better way to get this results?

Is there a way so I could create a method inside USER entity called **getMissingPurchases()**?

Thank you!