наследование класса доктрины с жизненным циклом обратного вызова и драйвером аннотаций

У меня возникла проблема с доктриной orm с использованием драйвера аннотаций, связанного с жизненным циклом обратного вызова. У меня 2 класса:

  1. абстрактная модель (помечена как MappedSuperclass, имеет обратные вызовы жизненного цикла)
  2. Пользователь (расширенная модель, помеченная как сущность)

метод prePresist не вызывается, если я сохраняю экземпляр пользователя в базе данных. Если я перенесу метод в класс User, все будет работать нормально.

Можете ли вы дать мне подсказку, как заставить наследование работать так, как ожидалось? (я пытаюсь установить uuid вместо идентификатора для всех классов, расширяющих класс Model)

Вы можете посмотреть его в этом суть


person Patrick    schedule 13.09.2012    source источник
comment
пожалуйста, прикрепите образцы кода к вашему вопросу, не полагайтесь на внешнее местоположение   -  person guido    schedule 18.09.2012


Ответы (1)


Использование обратных вызовов жизненного цикла таким образом: ">не поддерживается драйвером метаданных аннотаций. Рассмотрите возможность использования либо YAML или Вместо этого преобразователи XML, поскольку они допускают такое использование. Вам все равно придется сообщить драйверу, что каждый из ваших подклассов имеет некоторые обратные вызовы жизненного цикла.

person Ocramius    schedule 08.02.2013