Skip to content

DynamoDB enhanced client Mappers - annotations can be used only on methods #1992

Open
@yairzaslavsky

Description

@yairzaslavsky

DynamoDB ehnchant client mappers annotations can be applied only to methods, not to fields.
This make it hard (or event create) data classes in Kotlin which are perfect to represent DDB model classes.

Describe the bug

I'm working on a Kotlin project using DDB enhanced client mappers.
When we worked with v1 we could have created model classes like this:
https://gist.github.com/yairzaslavsky/486a66871c57bf23629a812320abf697

But now, that we want to use the enhanced client , we cannot create data classes, as we the annotations can be applied only to methods.
This ended up with us creating code like this:
https://gist.github.com/yairzaslavsky/8cc4e87ff83425b492522d2bcdb70f04

Expected Behavior

I would expect to have the ability to implement a data class like in the first link.

Current Behavior

At the moment i cannot implement a data class this way, as i have to override the getter behavior

Steps to Reproduce

You can use the above links as example

Possible Solution

Change the annotations to to be applied to fields as well.

Context

I am developing a server side component using Kotlin that uses DDB.

Your Environment

  • AWS Java SDK version used:
    v2 (kotlin 1.3-x)
  • JDK version used:
    8
  • Operating System and version:
    Linux

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions