@Retention(value=RUNTIME) @Target(value={TYPE,FIELD,METHOD,ANNOTATION_TYPE}) public @interface DynamoDBFlattened
@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; }
Where,
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.
May be used as a meta-annotation.
| Modifier and Type | Optional Element and Description |
|---|---|
DynamoDBAttribute[] |
attributes
Indicates the attributes that should be flattened.
|
public abstract DynamoDBAttribute[] attributes