• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
    • Questions
    • Teachers
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

1K
Views
DynamoDBMappingException: sin asignación para la clave HASH

Al escribir una aplicación Java de DynamoDB, puede recibir el error "sin asignación para la clave HASH" al escribir o recuperar datos de una tabla si la tabla y su modelo de datos no están configurados correctamente. La excepción completa sería similar a:

com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMappingException: <YourClassNameHere>; no mapping for HASH key

almost 3 years ago · Santiago Trujillo
3 answers
Answer question

0

Asegúrese de que los captadores de su clase mapeada anotada se declaren public .

almost 3 years ago · Santiago Trujillo Report

0

Dos cosas útiles para comprobar aquí:

1) Para su setter principal para su valor de clave hash, asegúrese de que la notación @DynamoDBHashKey esté configurada correctamente. @DynamoDBAttribute NO es el correcto para usar para la clave hash principal de su tabla y tampoco lo es @DynamoDBIndexHashKey .

2) Asegúrese de que la clave hash esté definida en la definición de la tabla:

 CreateTableRequest createTableRequest = new CreateTableRequest() .withTableName("testtable") .withKeySchema( new KeySchemaElement("id", KeyType.HASH) ) .withProvisionedThroughput(new ProvisionedThroughput(1L, 1L)) .withAttributeDefinitions( new AttributeDefinition("id", "S") ); CreateTableResult result = amazonDynamoDB.createTable(createTableRequest);

La definición de tabla anterior crea una tabla 'testtable' con un índice principal o una variable de clave hash titulada id y el tipo es S para cadena.

Además, si usa la herencia, asegúrese de no tener dos funciones con el mismo nombre que se anulen entre sí. Dynamo utilizará el captador de nivel superior y esto puede causar problemas.

almost 3 years ago · Santiago Trujillo Report

0

Si está utilizando la anotación @Data (lombok.data), intente nuevamente después de eliminarla y genere captadores y definidores para todos los atributos (incluida la clave_principal/clave_partición).

almost 3 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error