salut,
je suis entrain de développer trois class : TechnicalSkill, Expertise et Request
la relation entre ces class est manyToMany
la class Request.java
la class Expertise.java
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 @Entity public class Request implements Serializable{ /** * */ private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.AUTO) private Integer requestId; private String detailRequest; private String place; @ManyToMany(mappedBy="requests") private List<Expertise> expertises; ... //getter , setter and constructor }
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 @Entity public class Expertise implements Serializable { /** * */ private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.AUTO) private int idExpertise; private String seniority; @ManyToMany(mappedBy="expertises") private List<TechnicalSkill> technicalSkills=new ArrayList<TechnicalSkill>(); @ManyToMany private List<Request> requests=new ArrayList<Request>(); .... //getter , setter and constructor }
la class TechnicalSkill.java
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 public class TechnicalSkill implements Serializable{ /** * */ private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.AUTO) private int idTechnicalSkill; private String description; @ManyToMany private List<Expertise> expertises=new ArrayList<Expertise>(); ... //getter , setter and constructor }
un scenario de test est le suivant :
supposant j'ai dans la table request les informations suivants :
1 --- formation1 --- France
2 --- formation2 --- US
supposant j'ai dans la table expertise les informations suivants :
1 -- 3 ans
2 -- 4 ans
3 -- 6 ans
4 -- 8 ans
supposant j'ai dans la table technicalSkill les informations suivants :
1 -- java
2 -- android
3 -- spring
4 -- JEE
le but à travers les types d'associations que j'ai fait (j’espère qu'ils sont juste) dans les class
est d'avoir la possibilité de faire ce genre de test :
formation1 peut avoir 3 ans d'experience en java et 3 ans android
formation2 peut avoir 3 ans d'experience en java et 8 ans spring et 3 ans android
comme vous voyez la "seniority" (3 ans ) pour java est commune dans les deux types de "request"
j'ai ajouter manuellemnt des valeurs dans la table request , expertise et technicalSkill sans remplir la table d'association et dans la class main j'ai fait la relation entre class
j'ai fait class main pour tester un scenario :
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 Expertise e=serviceExpertise.readById(1); TechnicalSkill t=ServiceTeck.readById(1); Request r=reqService.readById(2); List<Request> re=new ArrayList<Request>(); re.add(r); e.setRequests(re); List<Expertise> es=new ArrayList<Expertise>(); es.add(e); r.setExpertises(es); t.setExpertises(es); serviceExpertise.update(e); ServiceTeck.update(t);
la table d'association sera repmlir avec succé mais supposant que j'ai une relation entre formation et 3 ans ( table association entre expertise et request 1 -- 1)
et je veux faire autre relation formation2 et 3 ans la table d'association est remplir ( 2 -- 1) mais le problème est que la ligne (1 -- 1 ) est effacé ( c'est la relation : formation et 3 ans
c'est grâce à l'utilisation de la methode update
j’espère que j'arrive à expliquer mon problème
en faite je veux quelqu'un pouvez m'aidez à corrigé l'association entre class que j'ai fait pour que j'arrive à faire un scenario comme
formation1 peut avoir 3 ans d'experience en java et 3 ans android
formation2 peut avoir 3 ans d'experience en java et 8 ans spring et 3 ans android
et par la suite grâce au nom de la request ( formation2 ) je peux récupérer les information complète de cette request ( 3 ans d'experience en java et 8 ans spring et 3 ans android)
Partager