Joe*_*sey 4 spring amazon-dynamodb
orderRequestDao.save(new OrderRequest("5000", "body"));成功执行会在 Dynamo 中放置一条记录。任何读取返回的尝试:
[Request processing failed; nested exception is com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMappingException:
could not invoke null on class
com.cfa.fulfillmentApi.model.OrderRequest
with value 100 of type class java.lang.String] with root cause
Run Code Online (Sandbox Code Playgroud)
(id 为 100 的记录存在)
我正在使用以下 jars (aws.sdk.version: 1.11.86):
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk</artifactId>
<version>${aws.sdk.version}</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-core</artifactId>
<version>${aws.sdk.version}</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-dynamodb</artifactId>
<version>${aws.sdk.version}</version>
</dependency>
<dependency>
<groupId>com.github.derjust</groupId>
<artifactId>spring-data-dynamodb</artifactId>
<version>4.4.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
DynamoDb 配置:
主分区键: id (String)
道:
@EnableScan
public interface OrderRequestDao extends CrudRepository<OrderRequest, String> {
OrderRequest findOne(String s);
OrderRequest save(OrderRequest or);
}
Run Code Online (Sandbox Code Playgroud)
域对象:
@DynamoDBTable(tableName = "dev_transx")
public class OrderRequest {
private String id;
private String body;
public OrderRequest(String id, String body) {
this.id = id;
this.body = body;
}
public OrderRequest() {}
@DynamoDBHashKey
public String getId()
{
return id;
}
@DynamoDBAttribute
public String getBody()
{
return body;
}
public void setBody(String body) {
this.body = body;
}
@Override
public String toString() {
return String.format(
"Customer[id=%d, body='%s']",
id, body);
}
@Override
public int hashCode() {
return id.hashCode();
}
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试了域类中 id 的几乎所有数据类型,但没有运气。
| 归档时间: |
|
| 查看次数: |
6125 次 |
| 最近记录: |