@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.