我想使用DynamoDBMapper查询表,这个表有一个全局二级索引。而且,我希望查询全球二级指数。所以,我有一个对应于表中每个项目的类。并且,作为全局二级索引中的Hash键的字段标注为以下
@DynamoDBIndexHashKey(globalSecondaryIndexName="Index-Name", attributeName = "EmailSent")
public String getEmailSent() {
return emailSent;
}
而且,我正在查询使用mapper,如下所示
public <T extends Object> List<T> queryGlobalIndex(final String tableName, final String indexName, final T inputObj) {
final Class<T> clazz = (Class<T>) inputObj.getClass();
DynamoDBQueryExpression<T> queryExpression = new DynamoDBQueryExpression<T>().withIndexName(indexName).withConsistentRead(false).withHashKeyValues(inputObj);
return mapper.query(clazz, queryExpression, new DynamoDBMapperConfig(
new TableNameOverride(tableName)));
}
这是有效的,我的任务是我要从字段上的注释@DynamoDBIndexHashKey中删除字段globalSecondaryIndexName。关于如何去做的任何意见?