No Mapping for HashKey - Micronaut Native Image AWS SDK v1 DynamoDB

Viewed 89

I'm converting my Java application to Micronaut and then to native. The current application is working fine as Java, but when I get it converted to native-image, it shows "No mapping for HashKey", even though the field is annotated by @DynamoDBHashKey. I suspect the annotations are lost in conversion to native-image

We use dynamoDBmapper

Code

@DynamoDBTable(tableName = "DataVolumeConfiguration")
public class DataVolumeConfiguration {

    @DynamoDBHashKey
    private String brandIdCountryCode;

Below is the exception trace and pom.ml

Micronaut Version: 2.3.3 Graal VM Version: 21.0.0.2 Java Version: 11

2021-03-10T12:51:33.871+05:30   com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMappingException: **DataVolumeConfiguration; no mapping for HASH key**

2021-03-10T12:51:33.871+05:30   at com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapperTableModel.hashKey(DynamoDBMapperTableModel.java:119)

2021-03-10T12:51:33.871+05:30   at com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapperTableModel$Builder.build(DynamoDBMapperTableModel.java:449)

2021-03-10T12:51:33.871+05:30   at com.amazonaws.services.dynamodbv2.datamodeling.StandardModelFactories$StandardTableFactory.getTable(StandardModelFactories.java:107)

2021-03-10T12:51:33.871+05:30   at com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapper.getTableModel(DynamoDBMapper.java:409)

2021-03-10T12:51:33.871+05:30   at com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapper.load(DynamoDBMapper.java:447)

2021-03-10T12:51:33.871+05:30   at com.amazonaws.services.dynamodbv2.datamodeling.AbstractDynamoDBMapper.load(AbstractDynamoDBMapper.java:75)

pom.xml

<dependency>
    <groupId>io.micronaut.aws</groupId>
    <artifactId>micronaut-aws-sdk-v1</artifactId>
</dependency>

<dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-java-sdk-dynamodb</artifactId>
    <version>1.11.828</version>
</dependency>
0 Answers
Related