Spring-data-aerospike не может установить поле в ноль - PullRequest
0 голосов
/ 19 октября 2018

Предположим, у вас есть документ:

@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 свойства отбрасываются при обновлении.

1 Ответ

0 голосов
/ 02 ноября 2018

Пожалуйста, рассмотрите возможность использования последней версии spring-data-aerospike .

Это не должно быть проблемой, я только что проверил, что сценарий работает правильно.Если вы все еще видите проблему - пожалуйста, откройте тикет и предоставьте контрольный пример.

...