È possibile utilizzare l'ereditarietà sugli oggetti valore incorporati in entità di dottrina?Ereditarietà delle risorse incorporate di doctrina
La situazione sto pensando è:
Ho un ente che ha e oggetto embedded value. Quell'oggetto valore ha la seguente gerarchia:
class myEntity {
/** @Embedded(class = "baseValueObject") */
private $value_object;
...
}
class baseValueObject {...}
class valueObject1 extends baseValueObject{...}
class valueObject2 extends baseValueObject2{...}
Se io definisco la mia entità di avere baseValueObject come embeddable, non succede nulla quando uso lo schema-strumento per aggiornare il mio schema db, quindi credo che non è il modo per fallo.
Un'altra opzione a cui sto pensando è di utilizzare l'ereditarietà a tabella singola sull'entità per creare un'entità figlio che utilizza uno degli oggetti valore e un'altra entità figlio per l'altro. In questo modo:
class myEntity {
/** @Embedded(class = "baseValueObject") */
private $value_object;
...
}
class myEntityA extends myEntity {
/** @Embedded(class = "valueObject1") */
private $value_object;
...
}
class myEntityB extends myEntity {
/** @Embedded(class = "valueObject2") */
private $value_object;
...
}
class baseValueObject {...}
class valueObject1 extends baseValueObject{...}
class valueObject2 extends baseValueObject2{...}
Qual è l'approccio corretto? È persino possibile farlo in questo modo?