ObjectIdSerializer skriver altid egenskaber tilknyttet med @ObjectId til en ny forekomst af ObjectId. Dette er forkert, når du knytter denne egenskab til en streng.
For at undgå denne adfærd har jeg skrevet en NoObjectIdSerializer :
public class NoObjectIdSerializer extends JsonSerializer<String> {
@Override
public void serialize(String value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException {
jgen.writeString(value);
}
}
brugt sådan her :
@ObjectId
@JsonSerialize(using = NoObjectIdSerializer.class)
protected final String _id;
Der er et åbent problem.