В 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?

0 ответов

Другие вопросы по тегам