본문 바로가기

aws

(AWS DynamoDB) CRUDRepository 설정하기 - 복합키 Entity


AWS DynamoDB CRUDRepository


이전 포스팅에서 AWS SDK for Java 설정과 테이블 설계을 완료 하셨다면 이제 실제로 DynamoDB를 Java를 사용하여 다루어 보겠습니다.


테이블 설계가 완료 되었다면 어떤 Entity를 사용할 지 정하셨겠죠?

대부분 PartitionKey 하나만을 사용하는 Entity가 아니라 

PartitionKey + SortKey 인 CompositeKey를 사용하실 것으로 생각합니다.

 




Entity 설정

 

Case : Single PrimaryKey 

 

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)