将 lombok 注释与 DynamoDB 注释一起使用 [aws-dynamodb-encryption]
Using lombok annotations with DynamoDB annotations [aws-dynamodb-encryption]
我正在使用 AWS 加密 client.The 下面的代码抛出错误
错误:@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 配置如下 [with getters and setters]
private String someProp;
@DoNotTouch
@DynamoDBAttribute(attributeName="someProp")
public String getSomeProp() {
return someProp;
}
public void setSomeProp(String someProp) {
this.someProp = someProp;
}
这是有效的fine.I猜测 lombok 生成的 getter 和 setter 无法被 AmazonEncryptionclient 识别
我正在关注这个 aws 文档:https://aws.amazon.com/blogs/developer/client-side-encryption-for-amazon-dynamodb/
有人遇到过这个问题吗?如何解决这个问题?
我们必须使用 lombok.below 代码的 onX 功能修复问题
@Getter(onMethod = @_(@DoNotTouch))
@DynamoDBAttribute(attributeName="someProp")
private String someProp;
我正在使用 AWS 加密 client.The 下面的代码抛出错误
错误:@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 配置如下 [with getters and setters]
private String someProp;
@DoNotTouch
@DynamoDBAttribute(attributeName="someProp")
public String getSomeProp() {
return someProp;
}
public void setSomeProp(String someProp) {
this.someProp = someProp;
}
这是有效的fine.I猜测 lombok 生成的 getter 和 setter 无法被 AmazonEncryptionclient 识别
我正在关注这个 aws 文档:https://aws.amazon.com/blogs/developer/client-side-encryption-for-amazon-dynamodb/
有人遇到过这个问题吗?如何解决这个问题?
我们必须使用 lombok.below 代码的 onX 功能修复问题
@Getter(onMethod = @_(@DoNotTouch))
@DynamoDBAttribute(attributeName="someProp")
private String someProp;