Как использовать андроид Mongo Java @BsonCreator?

nofunatall спросил: 03 февраля 2018 в 12:43 в: java

Я пытаюсь отобразить объект неизменяемый из 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;
    }
}

0 ответов