Bonjour,

J'ai un flux JSON que je souhaite lire mais j'ai l'erreur suivante :
My error : 2018-12-19 23:05:34.891 WARN 1432 --- [io-8080-exec-31] .c.j.MappingJackson2HttpMessageConverter : Failed to evaluate Jackson deserialization for type [[simple type, class fr.model.Utilisateur]]: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot handle managed/back reference 'defaultReference': back reference type (java.util.List) not compatible with managed type (fr.model.MenuAction)

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 Utilisateur implements Serializable {
	private static final long serialVersionUID = 1L;
 
	@Id
	private Integer id;
 
	private Integer fixe;
 
	private Boolean deleted;
 
	private Boolean actif;
 
	private String email;
 
	private Integer mobile;
 
	private String motDePasse;
 
	private String nom;
 
	private String prenom;
 
	@ManyToMany
	private List<Profil> profils = new ArrayList<Profil>();
 
	public Utilisateur() {
	}
}
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
 
public class Profil implements Serializable {
	private static final long serialVersionUID = 1L;
 
	@Id
	private Integer id;
 
	private String codeProfil;
 
	private String libelleProfil;
 
	@JsonManagedReference
	@ManyToMany
	private List<MenuAction> menuActions = new ArrayList<MenuAction>();
 
	public 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
28
29
30
31
 
public class MenuAction implements Serializable {
	private static final long serialVersionUID = 1L;
 
	@Id
	private Integer id;
 
	private String codeMenuAction;
 
	private Boolean deleted;
 
	private String libelleMenuAction;
 
	@ManyToOne
	@JoinColumn(name="idMenuActionParent")
	private MenuAction menuAction;
 
	@JsonManagedReference
	@ManyToOne
	private Menu menu;
 
	@JsonBackReference
	@ManyToMany
	private List<Profil> profils = new ArrayList<Profil>();
 
	@OneToMany(mappedBy="menuAction")
	private List<MenuActionOperation> menuActionsUrl = new ArrayList<MenuActionOperation>();
 
	public MenuAction() {
	}
}
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 Menu implements Serializable {
	private static final long serialVersionUID = 1L;
 
	@Id
	private Integer id;
 
	private String codeMenu;
 
	private Boolean deleted;
 
	private String libelleMenu;
 
	@ManyToOne
	@JoinColumn(name="idMenuParent")
	private Menu menu;
 
	@JsonBackReference
	@OneToMany(mappedBy="menu")
	private List<MenuAction> menuActions = new ArrayList<MenuAction>();
 
	public Menu() {
	}
}