【发布时间】:2020-07-05 10:09:42
【问题描述】:
我有一个表 commandeClient,其中包含一个带有注释 json 的列表 ligneCommandesClients 忽略列表 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;
}
}
这里是实体 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;
在我的 jsp 中,我添加了一个 jquery 函数来加载 JSon 格式的 listCommandeClient,并使用调用以下方法的 onclick 事件
@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 "";
}
但是在执行以下指令将列表转换为 json 对象时
return mapper.writeValueAsString(ligneCommandeClients);
我一直重复这个错误,没有根本原因(删除了这个错误的重复次数)
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)
知道如何解决此错误 提前致谢
【问题讨论】:
-
这是一个英文网站,请用英文询问您的完整问题,s'il vous plaît。还要包括异常的根本原因,是
StackOverflowError吗? -
@Kayaman 完成,感谢您的澄清
-
是的,问题已解决,非常感谢