Bonjour
J'ai 2 beans (Dossier et Entrée) dont voici les caractéristiques:
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 @Entity @Table(name = "DOSSIER") public class Dossier { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "ID_DOSSIER", updatable = false, nullable = false) private long idDossier; @Column(name = "NUM_DOSSIER", insertable=true, updatable=true, nullable=false) private String numDossier; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "client_id", nullable = false) private Client client; @OneToMany(mappedBy="dossier", cascade = CascadeType.ALL) private Set<Entree> entrees;Un dossier peut contenir plusieurs entrée.
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 = "ENTREE") public class Entree { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "ID_ENTREE", updatable = false, nullable = false) private long idEntree; @Column(name = "DATE_ENTREE", insertable=true, updatable=true, nullable=true) private String dateEntree; @ManyToOne @JoinColumn(name="idDossier", nullable=false) private Dossier dossier;
J'aimerai maintenant afficher le Id de dossier pour une entrée donnée. J'ai donc fait ceci:
Le problème est que je reçois ce message d'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 @Query("SELECT idDossier FROM Entree WHERE id_entree = :id_entree ") long findIdDossierByIdEntree(@Param("id_entree") long id_entree);
Je pense que c'est dû au fait il n y a pas de getter et setter pour IdDossier dans le bean Dossier.Caused by: java.lang.IllegalArgumentException: Validation failed for query for method public abstract long com.nitraentrepot.repository.EntreeRepository.findIdDossierByIdEntree(long)!
Donc comment régler ce problème.
Merci
Partager