2013-10-09 4 views
1

J'ai récemment commencé à utiliser DynamoDB Je vois que pour utiliser le framework DynamoDB Mapper j'ai besoin de connaître le nom de l'attribut avant de l'attacher à une variable de classe. Et si je devais implémenter quelques attributs variant dynamiquement mais que je voulais quand même pouvoir leur appliquer des conditions pendant l'analyse? J'ai essayé de lier un hashMap (disons sous la variable 'attrMap') dans la classe et d'écrire mon propre marshaller pour le définir. Mais, j'ai remarqué qu'il enregistre comme un attribut 'attrMap' dans la table Dynamo avec une valeur complexe, ce qui ne me permet pas de mettre des conditions sur ces attributs dynamiques pendant un scan.DynamoDB Mapper framework pour varier les attributs

Existe-t-il un moyen de définir ces attributs dynamiques au même niveau que tous les autres attributs liés statiquement dans la table en utilisant Mapper framework, ce qui me permet de leur appliquer des conditions lors d'un scan?

+0

essayez également cette couche d'objets DynamoDB (pas un mappeur): http://www.jcabi.com/jcabi-dynamo/index.html – yegor256

Répondre

0

Ce que je fais est d'avoir plusieurs Java classes tous annotée avec @DynamoDBTable(tableName="my_table")

La seule chose que commune est le @DynamoDBHashKey.

Autre que cela, vous pouvez avoir différentes classes implémenter des attributs différents. Le marshaller par défaut récupérera seulement les attributs appropriés à chaque classe aussi bien que mettra seulement à jour ceux-ci et n'affectera pas les autres en utilisant SaveBehavior.UPDATE dans votre mapper.

Questions connexes