현재 LSI 및 DynamoDB 매퍼 클래스를 사용하여 발전기 DB 테이블에서 정보를로드하려고합니다. 내가이 클래스 Conisder 다음 코드를LSI 및 매퍼로 dynamodb를 쿼리하는 방법
이 있다고 가정하는 것은
class Employee {
@DynamoDBHashKey
public String getID() {
return ID;
}
@DynamoDBRangeKey
public String getFirstName() {
return firstName;
}
@DynamoDBIndexRangeKey(localSecondaryIndexName = "my-lsi")
public String getLastName() {
return lastName;
}
public String getMyotherfield() {
return myotherfield;
}
}
는 LSI 및 DynamoDB의 매퍼를 사용하여 정보를 검색하기 위해이 코드 조각을 고려
Employee obj = new Employee();
obj.setID("221");
obj.setLastName("SOMEONE");
DynamoDBQueryExpression<Employee> queryExpression = new DynamoDBQueryExpression<>();
queryExpression.setHashKeyValues(obj);
queryExpression.setIndexName("my-lsi");
queryExpression.setProjectionExpression("myotherfield");
PaginatedQueryList<Employee> paginatedQueryList = mapper.query(Employee.class, queryExpression);
Iterator<Employee> iterator = paginatedQueryList.iterator();
while (iterator.hasNext()) {
Employee pp = iterator.next();
// some code
}
[편집] 이 올바른 방법으로인가 매퍼가있는 LSI를 쿼리 하시겠습니까? LSI와 dynamoDBMapper를 사용하여 테이블에서 데이터를 가져 오는 더 좋은 방법은 무엇입니까? (성능면에서)
이 또한 https://java.awsblog.com/post/Tx3GYZEVGO924K4/The-DynamoDBMapper-Local-Secondary-Indexes-and-You이지만 2013 링크입니다. LSI 및 매퍼로 쿼리하는 방법에 대한 최신 문서를 찾을 수 없습니다.
"더 나은 방법"이라고했을 때 정확히 무엇을 찾으십니까? 성능 측면에서 그렇습니까? 페이지 매김의 관점에서? – Dasharath