AWS DynamoDB CRUDRepository
이전 포스팅에서 AWS SDK for Java 설정과 테이블 설계을 완료 하셨다면 이제 실제로 DynamoDB를 Java를 사용하여 다루어 보겠습니다.AWS SDK for Java : http://dev.overnodes.com/entry/AWS-DynamoDB-3-AWS-SDK-for-Java-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0
테이블 설계가 완료 되었다면 어떤 Entity를 사용할 지 정하셨겠죠?
대부분 PartitionKey 하나만을 사용하는 Entity가 아니라
PartitionKey + SortKey 인 CompositeKey를 사용하실 것으로 생각합니다.
이전 포스팅에서 AWS SDK for Java 설정과 테이블 설계을 완료 하셨다면 이제 실제로 DynamoDB를 Java를 사용하여 다루어 보겠습니다.
AWS SDK for Java : http://dev.overnodes.com/entry/AWS-DynamoDB-3-AWS-SDK-for-Java-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0
테이블 설계가 완료 되었다면 어떤 Entity를 사용할 지 정하셨겠죠?
대부분 PartitionKey 하나만을 사용하는 Entity가 아니라
PartitionKey + SortKey 인 CompositeKey를 사용하실 것으로 생각합니다.
Entity 설정
Case : Single PrimaryKey
PartitonKey 하나만을 사용하는 Entity의 설정은 간단합니다.
위와 같이 사용하는 Table 이름과 PK를 잘 설정해주고, 추가할 Attribute들을 정의한 후
CrudRepository를 생성하면 DynamoDB에 기본 CRUD 명령을 내릴 수 있습니다.
기존 다른 DB들의 Repository 생성방법과 다른 부분은 @EnableScan Annotation을 사용한다는 것입니다.
basePackageClasses 부분을 생성한 Repository로 지정해주시면 됩니다.
PartitonKey 하나만을 사용하는 Entity의 설정은 간단합니다.
위와 같이 사용하는 Table 이름과 PK를 잘 설정해주고, 추가할 Attribute들을 정의한 후
CrudRepository를 생성하면 DynamoDB에 기본 CRUD 명령을 내릴 수 있습니다.
기존 다른 DB들의 Repository 생성방법과 다른 부분은 @EnableScan Annotation을 사용한다는 것입니다.
basePackageClasses 부분을 생성한 Repository로 지정해주시면 됩니다.
Case : Composite PrimaryKey
CompositeKey를 사용하는 Entity는 아래처럼 설정해주셔야 합니다.
코드를 보면, Key 부분을 하나의 Class로 만들어 그 Key Class의 멤버에 PK, SK가 존재하는 것을 볼 수 있습니다.
그리고 사용할 Entity Class가 그 키를 가지고, 조작하는 메서드를 가지도록 되어있습니다.
위처럼 설정한다면 CompositeKey를 사용하더라도 CrudRepository가 잘 동작할 것입니다.
이상으로 포스팅을 마칩니다.다음에 더 좋은 내용으로 만나요~

By RyanKim (Overnodes Devloper)
CompositeKey를 사용하는 Entity는 아래처럼 설정해주셔야 합니다.
코드를 보면, Key 부분을 하나의 Class로 만들어 그 Key Class의 멤버에 PK, SK가 존재하는 것을 볼 수 있습니다.
그리고 사용할 Entity Class가 그 키를 가지고, 조작하는 메서드를 가지도록 되어있습니다.
위처럼 설정한다면 CompositeKey를 사용하더라도 CrudRepository가 잘 동작할 것입니다.
이상으로 포스팅을 마칩니다.
다음에 더 좋은 내용으로 만나요~
By RyanKim (Overnodes Devloper)
'AWS DynamoDB' 카테고리의 다른 글
(AWS DynamoDB)(NoSQL) 비즈니스에 맞는 스키마 설계 (기본) (0) | 2018.11.06 |
---|
댓글