Предположим, у вас есть документ:
@Document(collection = "person-document", touchOnRead = true)
public class PersonDocument {
@Id
long id;
@Field
String transaction;
}
Вот как вы создаете сущность:
PersonDocument person = new PersonDocument(1L, "112e-dfsc-3442-cwce-3434");
repository.save(person);
Вот как вы пытаетесь обновить сущность:
PersonDocument person = repository.findOne(1L);
person.setTransaction(null);
repository.save(person);
Однако последний не удаляет значение корзины для «транзакции», и в хранилище данных все еще существует значение «112e-dfsc-3442-cwce-3434».
Обходной путь для этого -обновите значение пустой строкой, однако это немного сбивает с толку, учитывая то, как работают другие реализации данных Spring (особенно spring-data-jpa).
Не лучше ли удалить значение bin, если поле сущности установлено на NULL
вместо того, чтобы сохранить старое значение?Потому что пока NULL
свойства отбрасываются при обновлении.