Utilizar DQL no va a cambiar el hecho de que esta mal definida la relación, no es una solución sino un parche que te puede(seguramente lo haga) traer dolores de cabeza después, fuera de que lo lógico seria comprender como funciona la herramienta que estas utilizando, pero bueno, esto último va en cada uno, de cualquier manera te dejo un ejemplo de como podría ser:
Código PHP:
Ver originalclass User
{
/**
* @var Profile $profile
* @ORM\ManyToOne(targetEntity="Profile", inversedBy="users", cascade={"persist"})
*/
private $profile;
public function setProfile(Profile $p)
{
$p->addUser($this);
$this->profile = $p;
}
public function getProfile()
{
return $this->profile;
}
}
class Profile
{
/**
* @var ArrayCollection
* @ORM\OneToMany(targetEntity="User", mappedBy="profile", cascade={"persist"})
*/
private $users;
public function addUser(User)
{
$this->users[] = $user;
}
public function getUsers()
{
return $this->users;
}
}
suerte,
Saludos.