amazon-dynamodb - 当我尝试运行以下代码时,我收到此错误“不支持;需要 @DynamoDBTyped 或 @DynamoDBTypeConverted”
问题描述
当我尝试put
在这个实体上运行代码时。我收到@DynamoDBTyped 或@DynamoDBTypeConverted 的错误,但我可以使用从数据库中检索数据get
并且delete
没有任何问题,我认为问题出在我试图传递给amazon dynamodb 的对象上
@AllArgsConstructor
@NoArgsConstructor
@DynamoDBTable(tableName = "test1")
class Test1{
private String prime
private String lastname
@DynamoDBHashKey(attributeName = "prime")
String getPrime() {
return prime
}
void setPrime(String prime) {
this.prime = prime
}
@DynamoDBAttribute(attributeName = "lastname")
String getLastname() {
return lastname
}
void setLastname(String lastname) {
this.lastname = lastname
}
@Override
String toString() {
return "Test1 [prime=" + prime + ", lastname=" + lastname +"]"
}
}
和控制器类
Test1 getTest1(@PathVariable("prime") String prime) {
return Test1Repository.getTest1ByPrime(prime)
}
和存储库类
class Test1Repository {
@Autowired
private DynamoDBMapper dynamoDBMapper
Test1 save(Test1 test1) {
dynamoDBMapper.save(test1)
return test1
}
错误是
com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMappingException: not supported; requires @DynamoDBTyped or @DynamoDBTypeConverted
at com.amazonaws.services.dynamodbv2.datamodeling.StandardModelFactories$Rules$NotSupported.set(StandardModelFactories.java:664) ~[aws-java-sdk-dynamodb-1.12.48.jar:na]
at com.amazonaws.services.dynamodbv2.datamodeling.StandardModelFactories$Rules$NotSupported.set(StandardModelFactories.java:650) ~[aws-java-sdk-dynamodb-1.12.48.jar:na]
at com.amazonaws.services.dynamodbv2.datamodeling.StandardModelFactories$AbstractRule.convert(StandardModelFactories.java:709) ~[aws-java-sdk-dynamodb-1.12.48.jar:na]
at com.amazonaws.services.dynamodbv2.datamodeling.StandardModelFactories$AbstractRule.convert(StandardModelFactories.java:691) ~[aws-java-sdk-dynamodb-1.12.48.jar:na]
at com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapperFieldModel.convert(DynamoDBMapperFieldModel.java:138) ~[aws-java-sdk-dynamodb-1.12.48.jar:na]
at com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapper$SaveObjectHandler.execute(DynamoDBMapper.java:738) ~[aws-java-sdk-dynamodb-1.12.48.jar:na]
at com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapper.save(DynamoDBMapper.java:640) ~[aws-java-sdk-dynamodb-1.12.48.jar:na]
at com.amazonaws.services.dynamodbv2.datamodeling.AbstractDynamoDBMapper.save(AbstractDynamoDBMapper.java:123) ~[aws-java-sdk-dynamodb-1.12.48.jar:na]
at com.amazonaws.services.dynamodbv2.datamodeling.IDynamoDBMapper$save.call(Unknown Source) ~[na:na]
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) ~[groovy-3.0.8.jar:3.0.8]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125) ~[groovy-3.0.8.jar:3.0.8]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:139) ~[groovy-3.0.8.jar:3.0.8]
解决方案
我建议迁移到AWS SDK for Java 2.0
推荐阅读
- android - Android Studio默认创建的Compose HelloWorld程序报错
- python - 如何在 matplotlib 中显示标准偏差以及正态分布图中的值?
- android - 即使没有滚动,PagewiseListView 也会不断加载新数据
- json - Apache Nifi 如何使用嵌套数组 JSON 加载 JSON 并调用 Oracle 存储过程
- installation - Openssl 和 NMSSH 之间的库冲突
- python - 将大熊猫数据框分组对象按字母数字(0-9 AZ)拆分为大小不等的组集群,但每个集群中的行数少于 500k
- nfs - Common Event Enabler 为 EMC Isilon NFS 审计事件发送的 xml 响应中包含哪些详细信息
- javascript - 通过相应的捕获组将正则表达式替换为多个匹配项
- c# - 从 Azure Blob 存储下载流的最佳方式
- r - 从外部文件为 read_csv 指定列类型