ObjectIdSerializer винаги записва свойство, съпоставено с @ObjectId, към нов екземпляр на ObjectId. Това е погрешно, когато преобразувате това свойство в низ.
За да избегна това поведение, написах NoObjectIdSerializer :
public class NoObjectIdSerializer extends JsonSerializer<String> {
@Override
public void serialize(String value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException {
jgen.writeString(value);
}
}
използва се така:
@ObjectId
@JsonSerialize(using = NoObjectIdSerializer.class)
protected final String _id;
Има отворен въпрос.