获取dynamodbmappingexception:不支持;需要@dynamodbtyped或@dynamodbtypeconverted用于多级/复杂对象

u5i3ibmn  于 2021-07-23  发布在  Java
关注(0)|答案(0)|浏览(399)

我有一个复杂的物体 Test 在实体类中 Item .

  1. @AllArgsConstructor
  2. @Getter
  3. public enum TestStatus {
  4. TO_RUN("To Run"),
  5. RUNNING("Running"),
  6. PASSED("Passed"),
  7. FAILED("Failed");
  8. public static TestStatus fromValue(String value) {
  9. //...implementation
  10. }
  11. private final String value;
  12. }
  13. @Data
  14. @ToString
  15. @Accessors(chain = true)
  16. @DynamoDBFlattened(attributes = {
  17. @DynamoDBAttribute(attributeName = "test.task.id", mappedBy = "id"),
  18. @DynamoDBAttribute(attributeName = "test.task.status", mappedBy = "status")
  19. })
  20. public class TestTask {
  21. private String id;
  22. @DynamoDBTypeConvertedEnum
  23. private TestStatus status;
  24. }
  25. @Data
  26. @ToString
  27. @Accessors(chain = true)
  28. @DynamoDBFlattened(attributes = {
  29. @DynamoDBAttribute(attributeName = "test.suite.name", mappedBy = "name"),
  30. @DynamoDBAttribute(attributeName = "test.suite.version", mappedBy = "version")
  31. })
  32. public class TestSuite {
  33. private String name;
  34. private String version;
  35. }
  36. @Data
  37. @ToString
  38. @Accessors(chain = true)
  39. public class Test {
  40. private TestSuite suite;
  41. private TestTask task;
  42. }
  43. @Data
  44. @ToString
  45. @Accessors(chain = true)
  46. @DynamoDBTable(tableName = "com.example.item")
  47. public class Item {
  48. private String name;
  49. private Test test; // This is a complex object as structure given above.
  50. }
  51. On the call of dynamoDBMapper.save(item); getting exception.
  52. @Repository
  53. @RequiredArgsConstructor
  54. public class DynamoDBItemRepository implements ItemRepository {
  55. //...
  56. @Override
  57. public Item save(Item item) {
  58. dynamoDBMapper.save(item); // Getting DynamoDBMappingException: not supported; requires @DynamoDBTyped or @DynamoDBTypeConverted
  59. return item;
  60. }
  61. //...
  62. }

我得到了例外

  1. com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMappingException: not supported; requires @DynamoDBTyped or @DynamoDBTypeConverted
  2. at com.amazonaws.services.dynamodbv2.datamodeling.StandardModelFactories$Rules$NotSupported.set(StandardModelFactories.java:664) ~[aws-java-sdk-dynamodb-1.11.578.jar:?]

我错过了什么?请帮帮我!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题