0

我想用 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

4

0 回答 0