AWS Dynamo建表注释问题

com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMappingException: not supported; requires @DynamoDBTyped or @DynamoDBTypeConverted

model Java为:

@DynamoDBTable(tableName="patent_legal_official")
public class PatentLegalOfficialModel extends Jsonable {
private String patent_legal_id;

private String patent_source_id;

private String country;

private String apno_official;

private String apno;

private Set<String> patent_id;

private String patent_type;

private String status;

private Long status_date;

private Long invalid_date;

private List<Transaction> transaction;

private Long create_ts;

private Long update_ts;

@DynamoDBHashKey
public String getPatent_legal_id() {
return patent_legal_id;
}

public void setPatent_legal_id(String patent_legal_id) {
this.patent_legal_id = patent_legal_id;
}

public String getPatent_source_id() {
return patent_source_id;
}

public void setPatent_source_id(String patent_source_id) {
this.patent_source_id = patent_source_id;
}

public String getCountry() {
return country;
}

public void setCountry(String country) {
this.country = country;
}

public String getApno_official() {
return apno_official;
}

public void setApno_official(String apno_official) {
this.apno_official = apno_official;
}

public String getApno() {
return apno;
}

public void setApno(String apno) {
this.apno = apno;
}

public Set<String> getPatent_id() {
return patent_id;
}

public void setPatent_id(Set<String> patent_id) {
this.patent_id = patent_id;
}

public String getPatent_type() {
return patent_type;
}

public void setPatent_type(String patent_type) {
this.patent_type = patent_type;
}

public String getStatus() {
return status;
}

public void setStatus(String status) {
this.status = status;
}

public Long getStatus_date() {
return status_date;
}

public void setStatus_date(Long status_date) {
this.status_date = status_date;
}

public Long getInvalid_date() {
return invalid_date;
}

public void setInvalid_date(Long invalid_date) {
this.invalid_date = invalid_date;
}

public List<Transaction> getTransaction() {
return transaction;
}

public void setTransaction(List<Transaction> transaction) {
this.transaction = transaction;
}

public Long getCreate_ts() {
return create_ts;
}

public void setCreate_ts(Long create_ts) {
this.create_ts = create_ts;
}

public Long getUpdate_ts() {
return update_ts;
}

public void setUpdate_ts(Long update_ts) {
this.update_ts = update_ts;
}
}

@DynamoDBTable和@DynamoDBHashKey都存在的
一时找不到原因在哪里,后面注意到了方法
public List<Transaction> getTransaction() {
return transaction;
}

Transaction是一个document
public class Transaction {

private String event;
private String journal_vol;
private Long pub_date;
private Long event_date;


public String getEvent() {
return event;
}

public void setEvent(String event) {
this.event = event;
}

public String getJournal_vol() {
return journal_vol;
}

public void setJournal_vol(String journal_vol) {
this.journal_vol = journal_vol;
}

public Long getPub_date() {
return pub_date;
}

public void setPub_date(Long pub_date) {
this.pub_date = pub_date;
}

public Long getEvent_date() {
return event_date;
}

public void setEvent_date(Long event_date) {
this.event_date = event_date;
}
}

发现少了@DynamoDBDocument标签,加上就成功入库了
API参考:http://docs.amazonaws.cn/amazondynamodb/latest/developerguide/DynamoDBMapper.Annotations.html
posted @ 2018-11-14 10:00  steven_123  阅读(583)  评论(0编辑  收藏  举报