有没有办法用@JsonIdentityInfo 影响序列化过程,以便插入整个对象而不是引用id?
@Entity
@JsonIdentityInfo(
generator = ObjectIdGenerators.IntSequenceGenerator.class,
property = "linkLabel")
public class LinkLabel implements Serializable {
//...
}
因此,杰克逊不应引用 id 为 1 的“otherObj”,而应包括整个对象。
{
"objects": [{
"id": 1,
"otherObj": [{
"id": 1,
...
}, {
"id": 3,
...
}]
},
"id": 2,
"otherObj": [1] <-- referencing otherObj with id 1
]
}
像这儿:
{
"objects": [{
"id": 1,
"otherObj": [{
"id": 1,
...
}, {
"id": 3,
...
}]
},
"id": 2,
"otherObj": [{
"id": 1, <-- desired format, whole object
...
}]
]
}
我们有双向引用,所以 @JsonManagedReference 和 @JsonBackReference 不能正常工作。此处描述了此行为 ( http://wiki.fasterxml.com/JacksonFeatureObjectIdentity )。