Я использую MongoJack (2.0.0) для сериализации/десериализации объектов из MongoDB. Согласно http://mongojack.org/index.html, MongoJack должен поддерживать @javax.persistance.Id.
У меня есть аннотированная объектная переменная с @Id
@Id
private String id;
Когда я пытаюсь сохранить объект с допустимым идентификатором
jacksonDBCollection.save(myEntity);
Объект сохраняется как новый документ вместо обновления существующего.
Я использую собственный десериализатор, но в моем модуле нет сериализатора:
ObjectMapper objectMapper = new ObjectMapper();
SimpleModule module = new SimpleModule("MyModule", Version.unknownVersion());
module.addDeserializer(MyEntity.class, new MyEntityJsonDeserializer());
objectMapper.registerModule(module);
return objectMapper;
Я отладил некоторый код и вижу, что идентификатор обрабатывается как String вместо ObjectId при вызове jacksonDBCollection.save(myEntity). Похоже, что поддержка @javax.persistance.Id не работает.
Я пытался найти источник, где это поддерживается, но не повезло. Может ли кто-нибудь указать мне источник, где это поддерживается, и/или сообщить мне, что я делаю неправильно?
Ваше здоровье.