В Dynamo DB SDK 2.XX для java, как указать имя таблицы при сканировании через нее?
Я хочу просканировать таблицу с помощью Dynamo db, но я хочу использовать разные имена между фактической таблицей, созданной в базе данных, и соответствующим классом pojo в Java. Есть ли способ указать имя таблицы при использовании аннотации
@DynamoDbBean
?
Имя таблицы в динамо: users
Имя класса 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");
}
Приведенный выше фрагмент не работает. Что я могу сделать, чтобы сохранить имя класса как User в Java, даже если имя таблицы в динамо-машине
users
?