Я реализовал решение, в котором я использую UUID в качестве идентификатора для объекта в пн go дБ. Проблема, с которой я сталкиваюсь, заключается в том, что, когда мы пытаемся использовать метод saveAll () из репозитория mon go, он вызывает исключение повторяющегося первичного ключа. Может кто-нибудь предложить решение для этого.
@Configuration
@EnableMongoAuditing
public class MongoConfigurations {
/**
* this we need for form validations to check for mandatory fields etc....
i.e. to enabled @NotBlank etc.. for Mongo model class
*/
@Bean
public ValidatingMongoEventListener validatingMongoEventListener() {
return new ValidatingMongoEventListener(validator());
}
@Bean
public LocalValidatorFactoryBean validator() {
return new LocalValidatorFactoryBean();
}
/**
* this we need for UUID generation
*/
@Bean
**public GenerateUUIDListener generateUUIDListener() {
return new GenerateUUIDListener();
}**
@Bean
public MyMongoAuditor myMongoAuditor() {
return new MyMongoAuditor();
}
}
public class GenerateUUIDListener extends AbstractMongoEventListener<Persistable> {
@Override
public void onBeforeConvert(BeforeConvertEvent<Persistable> event) {
Persistable entity = event.getSource();
if (entity.isNew()) {
entity.setId(UUID.randomUUID());
}
}
}