Я пытаюсь сопоставить неизменяемый объект из MongoDB с моим Java POJO, и все время получаю следующую ошибку:
org.springframework.web.util.NestedServletException:
Request processing failed;
nested exception is java.lang.RuntimeException:
org.mongodb.morphia.mapping.MappingException:
No usable constructor for com.example.model.Item
Кажется, что при использовании неизменяемых объектов мне нужно аннотировать с помощью @BsonCreator, однако это не работает, и я считаю, что это может быть потому, что использование этой аннотации требует от меня какой-то настройки org.bson.codecs.pojo.Conventions#ANNOTATION_CONVENTION
. Может быть, я слепой, но я не могу нигде найти примеры того, как это настроить. Любая помощь будет принята с благодарностью. Вот мой аннотированный POJO:
@Value /* Lombok auto generates getters */
@Builder /* Lombok auto generates builder method */
public class Item implements Serializable {
private final @NotNull AnEnum type;
private final int refId;
private final int quantity;
@BsonCreator
public Item(@BsonProperty("type") AnEnum type,
@BsonProperty("refId") int refId,
@BsonProperty("quantity") int quantity) {
this.type = type;
this.refId = refId;
this.quantity = quantity;
}
}