Если вы хотите сохранить SubGrid
как внедренный документ, нет необходимости в @Document
и @Id
для класса SubGrid
.Итак, здесь вы звоните save()
на объекте TariffGrid
верно?поэтому spring-data-mongo сгенерирует уникальный «Id» перед сохранением документа.Spirng-data-mongo не будет автоматически генерировать идентификатор для удаленных документов.Предположим, что если вы вызываете еще один метод репозитория save()
с объектом SubGrid
, он автоматически генерирует поле id
, так как вы добавили аннотации, но это означает, что SubGrid
будет сохранен отдельно еще в одной коллекции и тамбудет иметь id
.
Я полагаю, что вы перепутали его с тем, что он был таким же, как в случае спящего режима, когда он использовался для сохранения связанных сущностей также с использованием @oneToMany и CascadeType.Но это не относится к mongoDB и к внедренным документам.