Bonjour à tous ,

J'essaie de faire une application web en utilisant angularjs et Spring (JPA, MVC, BOOT)

J'ai ce MCD :

https://www.dropbox.com/s/depd3oz5kw...nline.png?dl=0

Et ces classes-là :

PROFIL :

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
	// one PROFIL can have N COMPETENCE_LEVEL
	// one PROFIL can have N EXPERIENCE
	// one PROFIL can have N POST_LEVEL
	@Entity
	@Table(name="profil")
	public class Profil {
 
		@Id
		@GeneratedValue(strategy=GenerationType.AUTO)
		@Column(name="id_profil")
		private Long idProfil;
 
		@OneToMany(mappedBy="profil")
		private List<CompetenceLevel> competenceLevels;
 
		@OneToMany(mappedBy="profil")
		private List<PostLevel> postLevels;
 
		@OneToMany(mappedBy="profil")
		private List<Experience> experiences;
 
		// DEFAULT CONSTRUCTOR
		// CONSTRUCTOR WITH PARAMETERS
		// GETTERS/SETTERS
		// NO TO_STRING FOR THE MOMENT...
 
	}
POST_LEVEL :

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
// one POST_LEVEL have one POST
	// one POST_LEVEL have one LEVEL
	// one POST_LEVEL concern one PROFIL
	// one POST_LEVEL can concern N EXPERIENCE
	@Entity
	@Table(name="post_level")
	public class PostLevel {
 
		@Id
		@GeneratedValue(strategy=GenerationType.AUTO)
		@Column(name="id_post_level")
		private Long idPostLevel;
 
		@ManyToOne(fetch=FetchType.LAZY)
		@JoinColumn(name="id_post")
		private Post post;
 
		@ManyToOne(fetch=FetchType.LAZY)
		@JoinColumn(name="id_level")
		private Level level;
 
		@ManyToOne(fetch=FetchType.LAZY)
		@JoinColumn(name="id_profil")
		private Profil profil;
 
		@OneToMany(mappedBy="postLevel")
		private List<Experience> experiences;
 
		// DEFAULT CONSTRUCTOR
		// CONSTRUCTOR WITH PARAMETERS
		// GETTERS/SETTERS
		// NO TO_STRING FOR THE MOMENT...
 
	}
LEVEL :

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
// one LEVEL can concern N COMPETENCE_LEVEL
	// one LEVEL can concern N POST_LEVEL
	// LEVEL and POST and COMPETENCE are relatively similary.
	@Entity
	@Table(name="level")
	public class Level {
 
		@Id
		@GeneratedValue(strategy=GenerationType.AUTO)
		@Column(name="id_level")
		private Long idLevel;
 
		@Column(name="level")
		private String level;
 
		@OneToMany(mappedBy="level")
		private List<CompetenceLevel> competenceLevels;
 
		@OneToMany(mappedBy="level")
		private List<PostLevel> postLevels;
 
		// DEFAULT CONSTRUCTOR
		// CONSTRUCTOR WITH PARAMETERS
		// GETTERS/SETTERS
		// NO TO_STRING FOR THE MOMENT...
 
	}
COMPETENCE_LEVEL :

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
// one COMPETENCE_LEVEL concern one PROFIL
	// one COMPETENCE_LEVEL have one COMPETENCE
	// one COMPETENCE_LEVEL have one LEVEL
	// one COMPETENCE_LEVEL can concern N EXPERIENCE
	@Entity
	@Table(name="competence_level")
	public class CompetenceLevel {
 
		@Id
		@GeneratedValue(strategy=GenerationType.AUTO)
		@Column(name="id_competence_level")
		private Long idCompetenceLevel;
 
		@ManyToOne(fetch=FetchType.LAZY)
		@JoinColumn(name="id_competence")
		private Competence competence;
 
		@ManyToOne(fetch=FetchType.LAZY)
		@JoinColumn(name="id_level")
		private Level level;
 
		@ManyToOne(fetch=FetchType.LAZY)
		@JoinColumn(name="id_profil")
		private Profil profil;
 
		@ManyToMany(mappedBy="competenceLevels")
		private List<Experience> experiences;
 
		// DEFAULT CONSTRUCTOR
		// CONSTRUCTOR WITH PARAMETERS
		// GETTERS/SETTERS
		// NO TO_STRING FOR THE MOMENT...
 
	}
EXPERIENCE :

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
// one EXPERIENCE concern one PROFIL
	// one EXPERIENCE can have N COMPETENCE_LEVEL
	// one EXPERIENCE can have one POST_LEVEL
	@Entity
	@Table(name="experience")
	public class Experience {
 
		@Id
		@GeneratedValue(strategy=GenerationType.AUTO)
		@Column(name="id_experience")
		private Long idExperience;
 
		@ManyToOne(fetch=FetchType.LAZY)
		@JoinColumn(name="id_profil")
		private Profil profil;
 
		@ManyToOne(fetch=FetchType.LAZY)
		@JoinColumn(name="id_post_level")
		private PostLevel postLevel;
 
		@ManyToMany
		@JoinTable(name = "experience_competence_level", joinColumns = @JoinColumn(name = "id_experience", referencedColumnName = "id_experience"), inverseJoinColumns = @JoinColumn(name = "id_competence_level", referencedColumnName = "id_competence_level"))
		private List<CompetenceLevel> competenceLevels;
 
		// DEFAULT CONSTRUCTOR
		// CONSTRUCTOR WITH PARAMETERS
		// GETTERS/SETTERS
		// NO TO_STRING FOR THE MOMENT...
 
	}
Mon problème est que lorsque j'ajoute une COMPETENCE_LEVEL dans ma base de données MySQL, l'application se fige lorsque j'essaie de récupérer toutes les COMPETENCE_LEVEL d'un PROFIL. Surement qu'il y a un problème de boucle quelque part mais je ne vois pas où :/ Vous avez une idée ? Merci d'avance .