我正在尝试通过以下代码更新dynamodb中项目的一个日期属性:
AttributeUpdate attributeUpdates = new AttributeUpdate("workDate");
Date workDate = finalMap.get(tID);
attributeUpdates.put(workDate);
PrimaryKey primaryKey = new PrimaryKey("tID", tID);
UpdateItemOutcome outcome = table.updateItem(primaryKey, attributeUpdates);
我调用table.updateItem的最后一行给出了UnSupportedOperationException,如下所示。
Exception in thread "main" java.lang.UnsupportedOperationException: value type: class java.util.Date
有没有人知道如何做到这一点。感谢。
答案 0 :(得分:1)
DynamoDB不接受日期为data type。您需要将该日期转换为字符串,然后进行更新。
答案 1 :(得分:0)
为便于进行日期处理,请尝试保存Date对象表示的长整数毫秒时间:
Date workDate = finalMap.get(tID);
attributeUpdates.put(workDate.getTime());
在加载记录时,可以通过以下方式轻松,明确地将其转换回Date对象:
new Date(long Date)