ObjectIdSerializer schreibt die mit @ObjectId zugeordnete Eigenschaft immer in eine neue Instanz von ObjectId. Dies ist falsch, wenn Sie diese Eigenschaft einem String zuordnen.
Um dieses Verhalten zu vermeiden, habe ich einen NoObjectIdSerializer :
geschriebenpublic class NoObjectIdSerializer extends JsonSerializer<String> {
@Override
public void serialize(String value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException {
jgen.writeString(value);
}
}
so verwendet :
@ObjectId
@JsonSerialize(using = NoObjectIdSerializer.class)
protected final String _id;
Es gibt ein offenes Problem.