Bonjour à tous,
Je rencontre actuellement un petit soucis pour persister un objet contenant une liste d'objets abstraits.
Voici les classes concernées :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 @Entity @Table(name = "PROJECT") public class ProjectDescriptor implements Serializable { @Column(name = "PROJECTID", nullable = false) @Id private String projectId; @OneToMany(cascade = CascadeType.ALL,targetEntity = SerializableCommand.class) private List<SerializableCommand> commands; ... }Et toutes les classes filles de SerializableCommand portent l'annotation @Entity.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 @Entity @Inheritance(strategy = InheritanceType.SINGLE_TABLE) @Table(name = "COMMAND") public abstract class SerializableCommand implements Serializable { @Column(name = "COMMANDID", nullable = false) @Id @SequenceGenerator(name = "command_sequence") @GeneratedValue(generator = "command_sequence") @GwtTransient private Integer id; }
Mais lors de la sauvegarde :
J'ai l'exception suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public void save(ProjectDescriptor project) { em.merge(project); }
Qu'est-ce que j'ai loupé?!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Cannot instantiate abstract class or interface: SerializableCommand
Merci d'avance pour vos réponses
Partager