Amazon DynamoDB
Developer Guide (API Version 2012-08-10)

Supported Data Types

This section describes the supported primitive Java data types, collections, and arbitrary data types.

DynamoDB supports the following primitive data types and primitive wrapper classes.

  • String

  • Boolean, boolean

  • Byte, byte

  • Date (as ISO_8601 millisecond-precision string, shifted to UTC)

  • Calendar (as ISO_8601 millisecond-precision string, shifted to UTC)

  • Long, long

  • Integer, int

  • Double, double

  • Float, float

  • BigDecimal

  • BigInteger

DynamoDB supports the Java Set collection types. If your mapped collection property is not a Set, then an exception is thrown.

The following table summarizes how the preceding Java types map to the DynamoDB types.

Java type DynamoDB type

All number types

N (number type)


S (string type)

Boolean N (number type), 0 or 1.

Alternatively, you can use @DynamoDBNativeBooleanType to map a Java Boolean to the DynamoDB BOOL data type. For more information, see Java Annotations for DynamoDB.)

ByteBuffer B (binary type)
Date S (string type). The Date values are stored as ISO-8601 formatted strings.
Set collection types SS (string set) type, NS (number set) type, or BS (binary set) type.

The DynamoDBTypeConverter interface lets you map your own arbitrary data types to a data type that is natively supported by DynamoDB. For more information, see Mapping Arbitrary Data.