Использование аннотаций lombok с аннотациями DynamoDB [aws-динамод-шифрование] - PullRequest
0 голосов
/ 29 мая 2019

Я использую клиент шифрования AWS. Ниже приведена ошибка при выдаче кода как

Ошибка: @ DoNotTouch не применимо к полю

@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
@Getter
@DynamoDBTable(tableName = "jktest")
public class DataPoJo {


    private String title;

    @DynamoDBHashKey(attributeName = "dummyname")
    private String dummyname;

    @DynamoDBAttribute(attributeName = "example")
    private String example;


    @DoNotEncrypt
    @DynamoDBAttribute(attributeName = "title")
    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    @DoNotTouch
    @DynamoDBAttribute(attributeName="someProp")
    private String someProp;

}

Однако, если я дам @ DoNotTouch config, как показано ниже [с геттерами и сеттерами]

private String someProp;
@DoNotTouch
@DynamoDBAttribute(attributeName="someProp")
public String getSomeProp() {
    return someProp;
}

public void setSomeProp(String someProp) {
    this.someProp = someProp;
}

Это работает нормально. Я думаю, что методы получения и установки, созданные lombok, не распознаются AmazonEncryptionclient

Я следую за этим документом aws: https://aws.amazon.com/blogs/developer/client-side-encryption-for-amazon-dynamodb/

Кто-нибудь сталкивался с этой проблемой? как это исправить?

1 Ответ

0 голосов
/ 29 мая 2019

Мы должны использовать onX возможность кода lombok. Ниже исправлена ​​проблема

@Getter(onMethod = @_(@DoNotTouch))
 @DynamoDBAttribute(attributeName="someProp")
 private String someProp;
...