我试图List<CustomObject>使用@DynamoDBDocument 保存,但它给了我一个DynamoDBMappingException:无法转换属性.
这是我的实体类的样子 -
@lombok.Data
@DynamoDBTable(tableName = "carTable")
public class Car {
@DynamoDBHashKey(attributeName = "name")
private carName;
@DynamoDBRangeKey(attributeName = "model")
private carModel;
@DynamoDBAttribute(attributeName = "manufacturers")
private List<Manufacturer> manufacturers;
}
Run Code Online (Sandbox Code Playgroud)
制造商类看起来像 -
@lombok.Data
@DynamoDBDocument
public class Manufacturer {
@DynamoDBAttribute
private String manufacturerName;
}
Run Code Online (Sandbox Code Playgroud)
当使用此实体并将值保存到表中时,它将正确保存为JSON,但在检索时,会抛出异常 -
com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMappingException: Car[manufacturers]; could not unconvert attribute
at com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapperTableModel.unconvert(DynamoDBMapperTableModel.java:271)
[junit] at com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapper.privateMarshallIntoObject(DynamoDBMapper.java:456)
[junit] at com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapper.load(DynamoDBMapper.java:422)
[junit] at com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapper.load(DynamoDBMapper.java:433)
[junit] at com.amazonaws.services.dynamodbv2.datamodeling.AbstractDynamoDBMapper.load(AbstractDynamoDBMapper.java:85)
Run Code Online (Sandbox Code Playgroud)
我在这里缺少什么,我需要在这里添加某种TypeConverter或Marshaller吗?
我正在从dynamodb表中删除一个dynamoDbMapper.delete(object)使用默认DynamoDBDeleteExpression 的不存在的记录
我期待出现某种异常,因为数据库中没有记录,但它什么也没做.它甚至没有返回类型,可以判断删除是成功还是失败.有没有办法添加一个删除表达式或某些东西,如果该项目不在数据库中,我的删除会抛出异常?
有没有一种方法可以还原到某个提交而不更改远程历史记录,基本上像git revert一样撤消对该提交所做的所有更改到一个新提交中?
例如-我有3次提交,提交A-> B-> C,我的头目前在CI上,现在想创建另一个提交D,它将具有与A相同的代码,以便我可以将该提交推送到远程分支而无需更改历史。