[英]How can I use Java Enums with Amazon DynamoDB and AWS SDK v2?
[英]Amazon DynamoDB mapping enums
我需要 map 用户 class 用于 Amazon DynamoDB。 用户 object 的属性之一是 AccountType(枚举)。 我该如何处理? 下面是我尝试过的枚举和代码。
public enum AccountType {
TYPE_A,
TYPE_B
}
-
@DynamoDBAttribute(attributeName="AccountType") *<< THIS FAILS*
public AccountType getAccountType() {
return accountType;
}
任何帮助,将不胜感激。
AWS开发工具包支持特殊注释DynamoDBTypeConvertedEnum,以将枚举转换为字符串。
@DynamoDBTypeConvertedEnum
@DynamoDBAttribute(attributeName="AccountType")
public AccountType getAccountType() {
return accountType;
}
AWS SDK for Java提供的Amazon DynamoDB的高级API( 对象持久性模型 )尚不支持enum
,请参阅支持的数据类型 :
Amazon DynamoDB支持以下原始数据类型和原始包装类。
- 串
- 布尔值,布尔值
- 字节,字节
- 日期(作为ISO8601毫秒精度字符串,转换为UTC)
- 日历(作为ISO8601毫秒精度字符串,转换为UTC)
- 很久很久
- 整数,整数
- 双人,双人
- 漂浮,漂浮
- BigDecimal的
- 的BigInteger
但是, Amazon DynamoDB原则上支持任意数据类型 ,因此您可以解决该限制,请参阅使用AWS SDK for Java对象持久性模型将任意数据映射到Amazon DynamoDB以获取详细信息:
除了支持的Java类型[...]之外,您还可以在应用程序中使用没有直接映射到Amazon DynamoDB类型的类型。 要映射这些类型,必须提供将复杂类型转换为String实例的实现,反之亦然,并使用@DynamoDBMarshalling批注类型注释复杂类型访问器方法。 [...]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.