In fact after further reading ```getPartialReference()``` method will never check for existence of object in database but just sets a new empty object with the proper id property. Because now the relation are restricted with a fk constraint we should ensure that user exists by loading from the database.
We can achieve that using partial object 
```php
$q = $em->createQuery('SELECT PARTIAL u.{id} FROM Phraseanet:User u WHERE u.id = :id')->setParameters(['id' => $id])->setHint(Query::HINT_FORCE_PARTIAL_LOAD, true)->getSingleResult();
```

This will raise a no result exception in case user is not found