Bonjour,

j'essaye de mettre en place les mappings entre mes entities et suis actuellement bloqué sur la clé composite d'une de mes entity.

Je souhaiterai avoir les tables suivantes:

MyEntity(id1_fk,id2_fk,...)
Entity1(id,...)
Entity2(id,...)




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
17
18
19
20
21
22
23
24
25
26
27
 
@Embeddable
public class MyCompositeId implements Serializable {
 
    @Id
    @ManyToOne
    @JoinColumn(name = "id1_fk")
    private Entity1 o1;
    @Id
    @ManyToOne
    @JoinColumn(name = "id2_fk")
    private Entity2 o2;
 
 //...
}
 
@Entity
@IdClass(MyCompositeId.class)
public class MyEntity implements Serializable {
 
    private static final long serialVersionUID = 1L;
 
 
    @EmbeddedId
    MyCompositeId compId;
 
 //...
mais j'obtient une erreur du genre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
The mapping [o1] from the embedded ID class [class com.MyCompositeId] is an invalid mapping for this class. An embeddable class that is used with an embedded ID specification (attribute [MyCompositeId] from
J'ai également essayé de modifier les annotations en m'inspirant de http://docs.jboss.org/hibernate/stab...ml/entity.html mais je me retrouve toujours face à une erreur.

Il s'agit probablement d'un problème tout bête de compréhension de ma part vu que je débute avec les EJB.


Merci d'avance