@Retention(value=RUNTIME) @Target(value={FIELD,METHOD}) public @interface DynamoDBFlattened
@DynamoDBTable(tableName="TestTable") public class TestClass { private String key; private DateRange effectiveRange; private DateRange extensionRange; @DynamoDBHashKey public String getKey() { return key; } public void setKey(String key) { this.key = key; } @DynamoDBFlattened(attributes={ @DynamoDBAttribute(mappedBy="start", attributeName="effectiveStartDate"), @DynamoDBAttribute(mappedBy="end", attributeName="effectiveEndDate")}) public DateRange getEffectiveRange() { return effectiveRange; } public void setEffectiveRange(DateRange effectiveRange) { this.effectiveRange = effectiveRange; } @DynamoDBFlattened(attributes={ @DynamoDBAttribute(mappedBy="start", attributeName="extensionStartDate"), @DynamoDBAttribute(mappedBy="end", attributeName="extensionEndDate")}) public DateRange getExtensionRange() { return extensionRange; } public void setExtensionRange(DateRange extensionRange) { this.extensionRange = extensionRange; } }With the following complex type to marshall,
public class DateRange { private Date start; private Date end; public Date getStart() { return start; } public void setStart(Date start) { this.start = start; } public Date getEnd() { return end; } public void setEnd(Date end) { this.end = end; } }Attributes defined within the complex type may also be annotated.
Modifier and Type | Optional Element and Description |
---|---|
DynamoDBAttribute[] |
attributes
Indicates the attributes that should be flattened.
|
public abstract DynamoDBAttribute[] attributes
Copyright © 2016. All rights reserved.