bonjour,
je travail avec Jpa hibernate 2.1, mon model est une classe annotée de plusieurs ManyToOne, voici le code ;
error : This class has a composite primary key. It must use an ID class.
Suite a une erreur de codage je suis obligé d'éclater ma classe en deux classes, voici mon code :
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
28
29
30
31
32
33
34
35
36
37
38
39
40 package flights; import java.io.Serializable; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.ManyToOne; @Entity // This class has a composite primary key. It must use an ID class. public class Route implements Serializable { private static final long serialVersionUID = -2403746842148223177L; private String airlineCode; @ManyToOne @Id private Airline airline; private String sourceCode; @ManyToOne @Id private Airport source; private String destinationCode; @ManyToOne @Id private Airport destination; private Boolean codeshare; private Short stops; private String equipment; /** ***************************** Getters and Setters ******************************* */
C'est la première fois que j'utilise @Embeddable, mais j'ai du mal a maitriser le concept !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 @Embeddable public final class RouteId implements Serializable { @ManyToOne private Airline airline; @ManyToOne private Aiport airport; @ManyToOne private Airport destination; }
Eclipse me retoune une erreur sur le @Embeddable ; The Java class for mapped type "flights.RouteId" is final.
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 @Entity public final class Route implements Serializable { @Id private RouteId id; private String sourceCode; private String destinationCode; private boolean codeshare; private short stops; private String equipment; }
J'ai effectué des recherche sur le net mais j'assimile pas le @Embeddable
Partager