我正在尝试使用DynamoDB Mapper注释将自定义类映射到DynamoDB表:
MyList
我知道DDB mapper支持有限的数据类型。 http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBMapper.DataTypes.html
但是我该如何映射这个类呢?有关如何映射列表和地图的任何帮助。
答案 0 :(得分:4)
DynamoDB映射器将自动解释并分配正确的DynamoDB 基于Java类型的数据类型。
如果要专门分配DDB数据类型,可以使用DynamoDBTyped注释。
请参阅以下示例中的boolean属性。
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBAttribute;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBHashKey;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapperFieldModel.DynamoDBAttributeType;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBTable;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBTyped;
@DynamoDBTable(tableName = "yourTableName")
public class MyClass {
String string1;
List<String> stringList;
Boolean flag;
Map<String, String> map;
@DynamoDBHashKey(attributeName = "string1")
public String getString1() {
return string1;
}
public void setString1(String string1) {
this.string1 = string1;
}
@DynamoDBAttribute(attributeName = "stringList")
public List<String> getStringList() {
return stringList;
}
public void setStringList(List<String> stringList) {
this.stringList = stringList;
}
@DynamoDBTyped(DynamoDBAttributeType.BOOL)
public Boolean getFlag() {
return flag;
}
public void setFlag(Boolean flag) {
this.flag = flag;
}
@DynamoDBAttribute(attributeName = "map")
public Map<String, String> getMap() {
return map;
}
public void setMap(Map<String, String> map) {
this.map = map;
}
}