ObjectIdSerializer selalu menulis properti yang dipetakan dengan @ObjectId ke instance baru ObjectId. Ini salah ketika Anda memetakan properti ini ke sebuah String.
Untuk menghindari perilaku ini, saya telah menulis NoObjectIdSerializer :
public class NoObjectIdSerializer extends JsonSerializer<String> {
@Override
public void serialize(String value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException {
jgen.writeString(value);
}
}
digunakan seperti ini :
@ObjectId
@JsonSerialize(using = NoObjectIdSerializer.class)
protected final String _id;
Ada masalah terbuka.