我使用SpringBoot CrudRepository在DynamoDB中保存了一个对象。它有一些空值的属性(“myAttribute”:null)和其他具有值(“otherAttribute”:“aValue”)。
我有一个方法来更新对象,我通过id搜索,更新它,然后,再次保存它。
如果我更新一个有值的属性,它会被更新。但是如果我把一个值放到空的值上,它们就不会被更新。
有什么想法吗?
我使用SpringBoot CrudRepository在DynamoDB中保存了一个对象。它有一些空值的属性(“myAttribute”:null)和其他具有值(“otherAttribute”:“aValue”)。
我有一个方法来更新对象,我通过id搜索,更新它,然后,再次保存它。
如果我更新一个有值的属性,它会被更新。但是如果我把一个值放到空的值上,它们就不会被更新。
有什么想法吗?
1条答案
按热度按时间oaxa6hgo1#
DynamoDB将空值作为不同的数据类型处理。因此,我在这里假设您将字符串或对象类型设置为NULL,在这种情况下,Mapper(假设)不会保存值,因为它会删除空值。如果它是一个字符串,你可以做的一件事是将值设置为
"NULL"
。https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_AttributeValue.html