Create an abstract base class (@InheritanceType("JOINED")) and a derived class, both having the annotation @HasLifecycleCallbacks and both having a method with annotation @PostLoad (different method names). The sequence of methods being called when an object is loaded from the database is not as expected.
(base value, derived value)
See attachment for classes
// Assume there is an entity manager $em
// Create object
$newDerived = new \Che\Tmp\DerivedClass();
// Fetch object
$derived = $em->findById('\Che\Tmp\DerivedClass', 1);
Possible problem cause
ClassMetadataInfo::addLifecycleCallback($callback, $event) method has a note 'If the same callback is registered more than once, the old one will be overridden'. We are not sure whether this is the case.