Я хочу сделать частичное обновление для одной из моих сущностей, но если одна из свойств имеет значение null, то обновляемой сущности также присваивается значение null. Я хочу, чтобы, если свойство из источника было нулевым, тогда оставалось свойство из источника.
Я пробовал это, но не повезло:
@Bean
public ModelMapper modelMapper() {
ModelMapper modelMapper = new ModelMapper();
modelMapper.getConfiguration().setPropertyCondition(Conditions.isNotNull());
modelMapper.createTypeMap(String.class, Date.class);
modelMapper.addConverter(new StringToDate());
modelMapper.addConverter(new DateToString());
return modelMapper;
}
Затем я обновляю свой объект так:
@Override
public void editUser(final User user) {
UserDocument userDocument = this.usersRepository.findByIdAndActivo(user.getId(), true)
.orElseThrow(UserNotFoundException::new);
userDocument = this.modelMapper.map(user, UserDocument.class);
this.usersRepository.save(userDocument);
}
Объект user
имеет 1 свойство, установленное в нуль, в то время как объект userDocument
имеет его со значением, затем, когда я сохраняю его в базе данных, это значение исчезает (поскольку оно преобразовано в ноль).
Что может быть не так?
Спасибо.