Je travaille dans mongoDB en java. Je veux enregistrer java Bitset Object dans db et puisque seuls les types natifs de BSON peuvent être convertis à partir de leurs homologues Java, je dois utiliser des librairies mapper.Données de printemps mongoDB enregistrement incomplet java Objet Bitset
J'ai utilisé Mongo Morphia Mapper et enregistré l'objet Bitset avec succès. Mais j'ai besoin de faire la même chose en utilisant Spring Data MongoDB libs. Mais en utilisant spring libs, l'objet Bitset n'est pas sauvegardé et il n'y a pas d'erreur lors de la sauvegarde. Et quand je récupère le même objet, j'obtiens un objet biset vide. Ci-dessous la façon dont les données ont été enregistrées dans la base de données de mongo en utilisant Morphia et Spring respectivement:
Morphia
- { "_id": "testid", "name": "printemps", "bit": { "mots": [NumberLong (132)], "wordsInUse": 1, "sizeIsSticky": true}}
printemps
- { "_id": "testid", "name": "printemps", "bit": { "mots": [NumberLong (132)]}}
En complaring les deux I remarqué que les informations Biset utilisant le ressort ne sont pas sauvegardées complètement (partie en gras). Cela peut être une raison pour un objet Bitset vide. J'utilise 'spring-data-mongodb-1.0.0.M4.jar' pour sauvegarder. S'il vous plaît, peut-on dire où je me trompe? J'apprécierais votre aide.
Merci
Shubhra
@Asya Kamsky
est le code ci-dessous j'utilise pour enregistrer à l'aide du printemps:
BitSet b = new BitSet(10);
b.set(2);
b.set(7);
MyClass myclass = new MyClass("testid","spring",b);
ApplicationContext ctx = new AnnotationConfigApplicationContext(SpringMongoConfig.class);
MongoOperations mongoOperation = (MongoOperations)ctx.getBean("mongoTemplate");
mongoOperation.save(myclass);
Pourriez-vous fournir des exemples d'extraits de votre code pour Spring montrant comment vous enregistrez l'objet? –
Y a-t-il une solution? J'apprécierais toute aide. Merci – Shubhra
Il me semble que le bit _was_ a été défini avec Spring, les mots ont été enregistrés en tant que sous-document appelé "bit" (en gras ci-dessus). Est-il possible que vous récupériez incorrectement les données stockées? En passant, vous pouvez modifier votre publication originale pour ajouter plus d'informations et/ou ajouter des commentaires comme je le fais. Les réponses (ci-dessous) sont réservées aux réponses à votre question initiale, pas aux réponses aux commentaires. –