I have a table commandeClient containing a list ligneCommandesClients with annotation json ignore for the list ligneCommandeCLients
@Entity
public class CommandeClient implements Serializable {
@Id
@GeneratedValue
private Long idCdeClient;
private String codeCommande;
@Temporal(TemporalType.TIME)
private Date date;
@OneToMany(mappedBy="commandeClient")
private List<LigneCommandeClient>ligneCommandeClients;
@JsonIgnore
public List<LigneCommandeClient> getLigneCommandeClients() {
return ligneCommandeClients;
}
}
here is the entity LigneCommandeClient
@Entity
public class LigneCommandeClient implements Serializable {
@Id
@GeneratedValue
private Long idLigneCommandeClient;
private BigDecimal qty;
private BigDecimal prixUnitaire;
@ManyToOne
@JoinColumn(name="idArticle")
private Article article;
@ManyToOne
@JoinColumn(name="idCdeClient")
private CommandeClient commandeClient;
in my jsp I added a jquery function to load the listCommandeClient in JSon format with an onclick event calling the following method
@Transient
public String getLigneCommandeJSON() {
if(!ligneCommandeClients.isEmpty()){
ObjectMapper mapper = new ObjectMapper();
try {
return mapper.writeValueAsString(ligneCommandeClients);
} catch (JsonGenerationException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
return "";
}
however when executing the following instruction to transform the list to a json object
return mapper.writeValueAsString(ligneCommandeClients);
I keep repeating this error without a root cause (deleted du to the number of repeats of this error)
at org.codehaus.jackson.map.ser.ContainerSerializers$CollectionSerializer.serializeContents(ContainerSerializers.java:360)
at org.codehaus.jackson.map.ser.ContainerSerializers$CollectionSerializer.serializeContents(ContainerSerializers.java:312)
at org.codehaus.jackson.map.ser.ContainerSerializers$AsArraySerializer.serialize(ContainerSerializers.java:111)
at org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:268)
at org.codehaus.jackson.map.ser.BeanSerializer.serializeFields(BeanSerializer.java:146)
at org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:118)
at org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:268)
at org.codehaus.jackson.map.ser.BeanSerializer.serializeFields(BeanSerializer.java:146)
at org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:118)
at org.codehaus.jackson.map.ser.ContainerSerializers$CollectionSerializer.serializeContents(ContainerSerializers.java:360)
at org.codehaus.jackson.map.ser.ContainerSerializers$CollectionSerializer.serializeContents(ContainerSerializers.java:312)
at org.codehaus.jackson.map.ser.ContainerSerializers$AsArraySerializer.serialize(ContainerSerializers.java:111)
at org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:268)
at org.codehaus.jackson.map.ser.BeanSerializer.serializeFields(BeanSerializer.java:146)
at org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:118)
at org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:268)
at org.codehaus.jackson.map.ser.BeanSerializer.serializeFields(BeanSerializer.java:146)
at org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:118)
at org.codehaus.jackson.map.ser.ContainerSerializers$CollectionSerializer.serializeContents(ContainerSerializers.java:360)
at org.codehaus.jackson.map.ser.ContainerSerializers$CollectionSerializer.serializeContents(ContainerSerializers.java:312)
any idea how can I resolve this error thanks in advance