TL; DR
Предупреждение исходит от MongoDB, который недоволен полем @Id, имеющим имя свойства, отличное от тех, которые поддерживаются данными Spring на основе root причина
На основе поддерживаемых имен полей Id, хранящихся в наборе SUPPORTED_ID_PROPERTY_NAMES
включает {"id", "_id}.
При этом ваше имя поля id должно быть принятым, что, по-видимому, не принято. Это может быть из другого документа. Вы должны проверить, сколько у вас @Document.
Обычно базовый c документ mongoDB в Spring включает две основные информации: 1015 *
Аннотация @Document в объекте модели (например, Пользователь) Аннотация @Id из свойства id в классе модели
Вот пример:
@Document
public class User {
@Id
private BigInteger id;
// other fields
/**
* Returns the identifier of the document.
*
* @return the id
*/
public BigInteger getId() {
return id;
}
// getters & setters for other fields (id have only a getter /!\)
}
То, что вы описали в описании вопроса, более удобно для объекта на основе JPA для SQL -баз и не подходит для документа MongoDB.
Кроме того, я рекомендую вам проверить Spring Data Проект MongoDB и его s образец проекта , чтобы увидеть «лучшие практики для начала» при создании таких проектов