salut,

je suis entrain de développer trois class : TechnicalSkill, Expertise et Request

la relation entre ces class est manyToMany

la class Request.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
}
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
@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)