Data class annotations
The following table lists the annotations that can be used on data classes and provides links to information and examples in this guide. The table is sorted in ascending alphabetical order by annotation name.
Annotation name | Annotation applies to1 | What it does | Where it is shown in this guide |
---|---|---|---|
DynamoDbAtomicCounter | attribute2 | Increments a tagged numerical attribute each time a record is written to the database. | Introduction and discussion. |
DynamoDbAttribute | attribute | Defines or renames a bean property that is mapped to a DynamoDB table attribute. | |
DynamoDbAutoGeneratedTimestampAttribute | attribute | Updates a tagged attribute with a current timestamp every time the item is successfully written to the database | Introduction and discussion. |
DynamoDbAutoGeneratedUuid | attribute | Generate a unique UUID (Universally Unique Identifier) for an attribute when a new record is written to the database. | Introduction and discussion. |
DynamoDbBean | class | Marks a data class as mappable to a table schema. | First use on the Customer class in the Get started section. Several usages appear throughout the guide. |
DynamoDbConvertedBy | attribute | Associates a custom AttributeConverter with the annotated
attribute. |
Initial discussion and example. |
DynamoDbFlatten | attribute | Flattens all the attributes of a separate DynamoDB data class and adds them as top-level attributes to the record that is read and written to the database. | |
DynamoDbIgnore | attribute |
Results in the attribute remaining unmapped. |
|
DynamoDbIgnoreNulls | attribute | Prevents saving null attributes of nested DynamoDb objects. | Discussion and examples. |
DynamoDbImmutable | class |
Marks an immutable data class as mappable to a table schema. |
|
DynamoDbPartitionKey | attribute |
Marks an attribute as the primary partition key (hash key) of the DynamoDb table. |
|
DynamoDbPreserveEmptyObject | attribute |
Specifies that if no data is present for the object mapped to the annotated attribute, the object should be initialized with all null fields. |
Discussion and examples. |
DynamoDbSecondaryPartitionKey | attribute |
Marks an attribute as a partition key for a global secondary index. |
|
DynamoDbSecondarySortKey | attribute |
Marks an attribute as an optional sort key for a global or local secondary index. |
|
DynamoDbSortKey | attribute |
Marks an attribute as the optional primary sort key (range key). |
|
DynamoDbUpdateBehavior | attribute |
Specifies the behavior when this attribute is updated as part of an 'update' operation such as UpdateItem. |
Introduction and example. |
DynamoDbVersionAttribute | attribute | Increments an item version number. | Introduction and discussion. |
1You can apply an attribute-level annotations to the getter or setter, but not both. This guide shows annotations on getters.
2The term property
is normally used for a value
encapsulated in a JavaBean data class. However, this guide uses the term attribute
instead, to be consistent with the terminology used by DynamoDB.