Bonjour,
je sais, vous allez me dire "pas la peine de persister une interface puisque cette dernière ne peut être instanciée" et vous avez raison.

Mon problème est autre:

J'ai l'interface que voici:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
public interface IExecutable {
 
	public void execute();
 
}
Trois classes qui implémentent l'interface:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
 
@Entity(name = "Door_Close")
public class Close extends Command implements Serializable,IExecutable{
(...)
 public void execute() {
 
        //code de mon exécution de la fermeture de ma porte
 
    }
 
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
 
@Entity(name = "Door_Open")
public class Open extends Command implements Serializable,IExecutable{
 
(...)
 public void execute() {
 
        //code de mon exécution de l'ouverture de ma porte
 
    }
 
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
 
@Entity(name = "Scenario")
public class Scenario  implements Serializable,IExecutable{
 
(...)
 public void execute() {
 
        //code de mon exécution du scenario
 
    }
 
}
et une classe persistante qui détient un collection d'objets exécutables:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
 
@Entity(name = "User")
public class User  implements Serializable{
 
@Comment mapper cette relation?
private Set<IExecutable actionsPossibles = new HashSet<IExecutable>();
 
 
 
(...)
}

Voila la question est : comment mapper la collection de ma dernière classe?

Merci déjà pour le coup d'œil que vous venez jeter à mon problème.

et merci pour vos futures contributions ;-)