고급 매핑 기능 사용 - AWS SDK for Java 2.x

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

고급 매핑 기능 사용

DynamoDB Enhanced Client 의 고급 테이블 스키마 기능에 대해 알아봅니다API.

테이블 스키마 유형 이해

TableSchema 는 DynamoDB Enhanced Client 의 매핑 기능에 대한 인터페이스입니다API. 의 맵에서 데이터 객체를 매핑할 수 있습니다AttributeValues. TableSchema 객체는 매핑하려는 테이블의 구조를 알아야 합니다. 이 구조 정보는 TableMetadata 객체에 저장됩니다.

향상된 클라이언트API에는 다음과 같은 몇 가지 의 구현TableSchema이 있습니다.

주석이 달린 클래스에서 생성된 테이블 스키마

주석이 달린 클래스로 TableSchema를 빌드하는 작업은 비용이 다소 많이 들기 때문에 애플리케이션을 시작할 때 한 번 수행하는 것이 좋습니다.

BeanTableSchema

이 구현은 Bean 클래스의 속성 및 주석을 기반으로 빌드됩니다. 이 접근 방식의 예제는 시작하기 단원에 나와 있습니다.

참고

BeanTableSchema가 예상대로 작동하지 않는 경우 software.amazon.awssdk.enhanced.dynamodb.beans에 대한 디버그 로깅을 활성화하세요.

ImmutableTableSchema

이 구현은 변경할 수 없는 데이터 클래스를 기반으로 구축되었습니다. 이 접근은 변경할 수 없는 데이터 클래스로 작업 단원에서 설명합니다.

빌더로 생성된 테이블 스키마

다음 TableSchema은 빌더를 사용하여 코드로 빌드됩니다. 이 접근 방식은 주석이 달린 데이터 클래스를 사용하는 접근 방식보다 비용이 저렴합니다. 빌더 접근 방식은 주석 사용을 피하고 JavaBean 이름 지정 표준을 요구하지 않습니다.

StaticTableSchema

이 구현은 변경 가능한 데이터 클래스용으로 구축되었습니다. 이 가이드의 시작하기 단원에서는 빌더를 사용하여 StaticTableSchema를 생성하는 방법을 보여 주었습니다.

StaticImmutableTableSchema

StaticTableSchema를 빌드하는 방법과 마찬가지로 변경할 수 없는 데이터 클래스와 함께 사용할 빌더를 사용하여 이러한 유형의 TableSchema 구현을 생성합니다.

고정 스키마가 없는 데이터에 대한 테이블 스키마

DocumentTableSchema

TableSchema의 다른 구현과 달리 DocumentTableSchema 인스턴스의 속성은 정의하지 않습니다. 일반적으로 기본 키와 특성 변환기 공급자만 지정합니다. EnhancedDocument 인스턴스는 개별 요소 또는 JSON 문자열에서 빌드하는 속성을 제공합니다.