繁体   English   中英

Amazon DynamoDB 映射枚举

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM