我想用 dynamo db 扫描一个表,但我想在数据库中创建的实际表和 Java 中的相应 pojo 类之间使用不同的名称。使用注释时有没有办法指定表名@DynamoDbBean
?
发电机中的表名:用户
Java POJO 类的名称:用户
代码片段:
@DynamoDbBean
public class User extends BaseModel {
private String id;
private String aadharNumber;
@DynamoDbAttribute("_id")
@DynamoDbPartitionKey
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getAadharNumber() {
return aadharNumber;
}
public void setAadharNumber(String aadharNumber) {
this.aadharNumber = aadharNumber;
}
}
扫描功能:
public static void scan(DynamoDbEnhancedClient enhancedClient) {
try{
// Create a DynamoDbTable object
DynamoDbTable<User> userTable = enhancedClient.table("users", TableSchema.fromBean(User.class));
Iterator<User> results = userTable.scan().items().iterator();
int i = 0;
while (results.hasNext()) {
users rec = results.next();
++i;
}
System.out.println("no of records = "+i);
} catch (DynamoDbException e) {
System.err.println(e.getMessage());
System.exit(1);
}
System.out.println("Done");
}
上面的片段不起作用。即使 dynamo 中的表名是 ,我该怎么做才能在 Java 中将类名保留为 User users
?