Mam pytanie odnośnie tworzenia abstrakcyjnych entity oraz dziedziczenia ich.
Mam takie entity:
- AbstractEntity - posiada pola: Status, isDeleted, ... itp
- AbstractCreatedByEntity - dziedziczy po AbstractEntity i ma dodatkowe pole $createdBy, które posiada referencję do AbstractUser
- AbstractUser - dziedziczy po klasie AbstractEntity i po interfejsie FosUserBundle\User
- User - dziedziczy po AbstractUser
- File - dziedziczy po AbstractCreatedByEntity.
W klasach abstrakcyjnych(AbstractEntity, AbstractCreatedByEntity, AbstractUser) dodałem adnotację: @MappedSuperclass, żadna z tych klas nie ma adnotacji @Entity. Natomiast klasy File oraz User mają adnotację @Entity, @Table oraz odpowiednie łączenie tabel @ManyToOne, @ManyToMany itp...
Po wykonaniu polecenia: php app/console doctrine:schema:update --force mam błąd:
Column name `id` referenced for relation from File towards AbstractUser does not exist.
Jak dodam w klasie AbstractUser adnotację @Entity to jest w porządku ale tworzy mi się dodatkowa tabela.
Jest jakieś sensowne rozwiązanie na taki problem ?
Pozdrawiam.