DynamoDB enhanced client Mappers - annotations can be used only on methods
- Vorherrschende Sprache
- Java
- Sterne
- 2.6k
- Forks
- 1k
- Ø Merge
- 2 T. 9 Std.
- Gemergte PRs (30 T.)
- 51
Beschreibung
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
Beitragsleitfaden
Rechercherichtung
Das Issue nennt keine Repository-Dateien oder Tests; beginne damit, die beiden verlinkten Kotlin-Modellbeispiele mit den Deklarationen der Annotationen des enhanced client mapper zu vergleichen. Verfolge, wie Annotationen auf Methoden beschränkt werden, und überprüfe anschließend, dass auf Felder ausgerichtete Annotationen die erwartete data-class-Struktur unterstützen, ohne das methodenbasierte Mapping zu beeinträchtigen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java, kotlin
- Bereich
- databases
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 38/100