当具有属性子集的对象访问项目时,DynamoDB 返回的对象类型是什么?
What would be the type of the object returned by the DynamoDB when an object with subset of the attributes accesses an item?
我是 DynamoDB 的新手。我有这个疑问:
让我们考虑一个 DDB table 具有以下属性的项目:
现在我有以下2个Java 类:
class1:
package packageName;
import com.amazonaws.services.dynamodbv2.datamodeling.*;
@DynamoDBTable(tableName = class1.TABLE_NAME)
public class class1 {
public static final String TABLE_NAME = "tableName";
public static final String ATTR1 = "Attr1";
public static final String ATTR2 = "Attr2";
public static final String ATTR3 = "Attr3";
@DynamoDBHashKey(attributeName = ATTR1)
private String attr1;
@DynamoDBRangeKey(attributeName = ATTR2)
private String attr2;
@DynamoDBAttribute(attributeName = ATTR3)
private String attr3;
}
class2:
package packageName;
import com.amazonaws.services.dynamodbv2.datamodeling.*;
@DynamoDBTable(tableName = class2.TABLE_NAME)
public class class1 {
public static final String TABLE_NAME = "tableName";
public static final String ATTR1 = "Attr1";
public static final String ATTR2 = "Attr2";
@DynamoDBHashKey(attributeName = ATTR1)
private String attr1;
@DynamoDBRangeKey(attributeName = ATTR2)
private String attr2;
}
当我使用这行代码时:
class2 class2Obj = mapper.load(class2Obj.class,attr1Val,attr2Val); // mapper is the DynamoDBMapper object.
映射器 return 是 class2 的对象吗?
如果不是,是否有任何其他方法使用映射器从 table 中获取项目作为 class2 对象?
P.S。我没有可用的 DDB 来检查这个。
我是 DynamoDB 的新手。我有这个疑问:
让我们考虑一个 DDB table 具有以下属性的项目:
现在我有以下2个Java 类:
class1:
package packageName;
import com.amazonaws.services.dynamodbv2.datamodeling.*;
@DynamoDBTable(tableName = class1.TABLE_NAME)
public class class1 {
public static final String TABLE_NAME = "tableName";
public static final String ATTR1 = "Attr1";
public static final String ATTR2 = "Attr2";
public static final String ATTR3 = "Attr3";
@DynamoDBHashKey(attributeName = ATTR1)
private String attr1;
@DynamoDBRangeKey(attributeName = ATTR2)
private String attr2;
@DynamoDBAttribute(attributeName = ATTR3)
private String attr3;
}
class2:
package packageName;
import com.amazonaws.services.dynamodbv2.datamodeling.*;
@DynamoDBTable(tableName = class2.TABLE_NAME)
public class class1 {
public static final String TABLE_NAME = "tableName";
public static final String ATTR1 = "Attr1";
public static final String ATTR2 = "Attr2";
@DynamoDBHashKey(attributeName = ATTR1)
private String attr1;
@DynamoDBRangeKey(attributeName = ATTR2)
private String attr2;
}
当我使用这行代码时:
class2 class2Obj = mapper.load(class2Obj.class,attr1Val,attr2Val); // mapper is the DynamoDBMapper object.
映射器 return 是 class2 的对象吗?
如果不是,是否有任何其他方法使用映射器从 table 中获取项目作为 class2 对象?
P.S。我没有可用的 DDB 来检查这个。