フィールドを宣言として: -
@CustomObjectFormat(separator = " ")
public Object getValue() {
return value;
}
サンプルCustomObjectFormatコード: -
実装以下の文字列にすべてを変換してDynamoDBのデータベース内の文字列データ型として永続化するtoString()
を使用します。
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@DynamoDBTypeConverted(converter=CustomObjectFormat.Converter.class)
public @interface CustomObjectFormat {
String separator() default " ";
public static class Converter implements DynamoDBTypeConverter<String, Object> {
private final String separator;
public Converter(final Class<Currency> targetType, final CustomObjectFormat annotation) {
this.separator = annotation.separator();
}
public Converter() {
this.separator = "|";
}
@Override
public String convert(final Object o) {
return o.toString();
}
@Override
public Object unconvert(final String o) {
return o;
}
}
}
保存するマッパー: -
DynamoDBMapperは保存し、検索のためにそれに応じてカスタムconvert
とunconvert
を呼び出します。
dynamoDBMapper.save(accounts);
DynamoDBTypeConverted JavaDoc