Ho seguente gerarchia di ereditarietà:Hibernate: è possibile mappare l'ereditarietà multi-livello su una singola tabella?
Task
|
SpecificTask
|
VerySpecificTask
E mi piacerebbe persistono usign single-ereditarietà delle tabelle, così ho annotato le classi:
@Entity
@Table(name="task")
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
public class Task
@Entity
public class SpecificTask extends Task
@Entity
public class VerySpecificTask extends SpecificTask
Quando si tenta di salvare un oggetto di VerySpecificTask classe, ottengo un errore:
Unable to resolve entity name from Class [com.application.task.VerySpecificTask]
expected instance/subclass of [com.application.task.Task]
Cosa devo fare? È possibile mappare l'ereditarietà multi-livello su una singola tabella?
EDIT: Ecco un bug zoppo, ho risolto rapidamente, quindi l'ho eliminato per non rovinare questa domanda.
Avete configurato una colonna discriminatore? Qual è la traccia dello stack dell'eccezione? –
Uso appFuse e il disciminatore è impostato automaticamente. – mrzasa
L'ereditarietà a livello multiplo è consentita da JSR 303. Sei sicuro che appFuse stia applicando le annotazioni oltre il primo livello nell'albero delle eredità? – Perception