Bonjour,
Je suis face à un problème et je n'arrive pas à le résoudre, même après mes recherches.
Voici le code de mes Entity :
Cra :
WRI :
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 public class Cra implements java.io.Serializable { private static final long serialVersionUID = -2993460541117479558L; @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @Column(name = "annee", nullable = false) private Integer annee; @Column(name = "numero", nullable = false) private Integer numero; @Column(name = "type", nullable = false) private Integer type; @ManyToMany @JoinTable(name = "FOLLO_PLA_CRA_ABSENCE", joinColumns = @JoinColumn(name = "cra_fk", referencedColumnName = "id"), inverseJoinColumns = @JoinColumn(name = "absence_fk", referencedColumnName = "id")) private Set<AbsenceTaken> absences; @ManyToMany @JoinTable(name = "FOLLO_PLA_CRA_WORKRECORDITEM", joinColumns = @JoinColumn(name = "cra_fk", referencedColumnName = "id"), inverseJoinColumns = @JoinColumn(name = "workrecorditem_fk", referencedColumnName = "id")) private Set<WorkRecordItem> wris; @ManyToOne(fetch=FetchType.LAZY) @JoinColumn(name="person_fk", nullable = false) private Person person; @ManyToOne(fetch=FetchType.LAZY) @JoinColumn(name="crastate_fk", nullable = false) private CraState craState; ...
WR :
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 public class WorkRecordItem implements java.io.Serializable { /** * */ private static final long serialVersionUID = -5429862855336162062L; @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @Temporal(TemporalType.DATE) @Column(name = "date", nullable = false) private java.util.Date date; @Column(name = "zone") private int zone; @ManyToOne(fetch=FetchType.LAZY) @JoinColumn(name="workrecord_fk", nullable = false) private WorkRecord workRecord; ...
J'ai en fait besoin de faire un group by sur l'attribut id des WorkRecord mais je n'y parviens pas !
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 public class WorkRecord implements java.io.Serializable { /** * */ private static final long serialVersionUID = -3591378471345489534L; @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @Temporal(TemporalType.DATE) @Column(name = "startDate", nullable = false) private java.util.Date startDate; @Temporal(TemporalType.DATE) @Column(name = "endDate", nullable = false) private java.util.Date endDate; @Column(name = "effort", nullable = false) private double effort; @ManyToOne(fetch=FetchType.LAZY) @JoinColumn(name="assigment_fk", nullable = false) private Assigment assigment; @OneToMany(mappedBy="workRecord") private List<WorkRecordItem> WorkRecorItems; ...
Voici ma requête initiale qui va chercher l'ensemble des WRI d'un cra :
J'aimerai à présent groupé mes résultats (les wris) par leur clé étrangere (correspondant à l'objet workRecord)
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT cra.wris FROM Cra cra WHERE cra.id=:id
J'ai donc établi cette requête (qui me renvoi une erreur donc) :
Voilà, merci d'avance pour votre aide car j'avoue que je ne vois pas du tout.
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT cra.wris AS wr, wr.workRecord.id FROM Cra cra WHERE cra.id=:id GROUP BY wr.workRecord.id
Partager