Проблема при сохранении значения автоинкремента в поле ObjectId - PullRequest
0 голосов
/ 11 октября 2018

У меня возникла проблема при попытке реализовать код для автоматического увеличения значения поля.Добрый запрос, чтобы помочь.

вот фрагмент кода

public ModelName create(@ModelAttribute ModelName modelName) {
    newEmployee.setEmployeeId(this.getNextSequence("counter"));
}
    public long getNextSequence(String seqName) {
        ModelName employeeIdCounter = mongoOp.findAndModify(query(where("_id").is(seqName)),
                new Update().inc("employeeId", 1), options().returnNew(true).upsert(true), ModelName .class);
        return employeeIdCounter.getEmployeeId();
    }

Стек ошибок:

2018-10-10 15:10:37.229 ERROR 9936 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [org.bson.types.ObjectId] for value 'counter'; nested exception is java.lang.IllegalArgumentException: invalid hexadecimal representation of an ObjectId: [counter]] with root cause

java.lang.IllegalArgumentException: invalid hexadecimal representation of an ObjectId: [counter]
    at org.bson.types.ObjectId.parseHexString(ObjectId.java:549) ~[bson-3.6.4.jar:na]
    at org.bson.types.ObjectId.<init>(ObjectId.java:239) ~[bson-3.6.4.jar:na]
    at org.springframework.data.mongodb.core.convert.MongoConverters$StringToObjectIdConverter.convert(MongoConverters.java:115) ~[spring-data-mongodb-2.0.10.RELEASE.jar:2.0.10.RELEASE]
    at org.springframework.data.mongodb.core.convert.MongoConverters$StringToObjectIdConverter.convert(MongoConverters.java:111) ~[spring-data-mongodb-2.0.10.RELEASE.jar:2.0.10.RELEASE]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...