The target listener allows you to redefine associations at run time. This allows you to basically display something like the following:
@ORM\OneToMany(targetEntity="My\Namespace\UserInterface")
As you can see, mapping an interface as a target does not make much sense. This becomes really useful when you say that every My\Namespace\UserInterface should be replaced with a link Other\Namespace\User .
source share