我试图序列化一个具有双向关系的实体:
class TypeA {
String name;
TypeB typeB;
}
class TypeB {
String identifier;
TypeA typeA;
}对于Jackson,我用@JsonBackReference解决typeB属性,用@JsonManagedReference解决typeA属性,但是如何在JSONB (Eclipse实现)上解决这个问题?
Caused by: javax.json.bind.JsonbException: Recursive reference has been found in class class xxxxxx.model.Analysis.
at org.eclipse.yasson.internal.serializer.ObjectSerializer.serializeInternal(ObjectSerializer.java:76)
at org.eclipse.yasson.internal.serializer.AbstractContainerSerializer.serialize(AbstractContainerSerializer.java:107)
at org.eclipse.yasson.internal.serializer.AbstractContainerSerializer.serializerCaptor(AbstractContainerSerializer.java:125)
at org.eclipse.yasson.internal.serializer.ObjectSerializer.marshallProperty(ObjectSerializer.java:121)
at org.eclipse.yasson.internal.serializer.ObjectSerializer.serializeInternal(ObjectSerializer.java:69)
... 45 more我用DTO解决了问题,但疑虑依然存在。
发布于 2020-05-30 00:49:21
为了解决循环结构,您应该使用@JsonbTransient。如文件所述
默认情况下,
忽略。
:http://json-b.net/docs/user-guide.html#ignoring-properties
https://stackoverflow.com/questions/61915478
复制相似问题