2012-04-02 4 views
0

Я использую mongoDB в java. Я хочу сохранить объект javas Bitset в DB, ​​но при выполнении table.insert (doc) я получаю IllegalArgumentException.Сохранить java Bitset Объект в mongoDB

Ошибка:

java.lang.IllegalArgumentException: не может сериализовать класс java.util.BitSet org.bson.BasicBSONEncoder._putObjectField (BasicBSONEncoder.java:234)

ответ

0

См this question.

В основном, превратите свой бит-набор в длинный или байтовый массив и сохраните его, вернув его обратно, когда вы его извлечете.

+0

Текущий я делаю то же самое с использованием байтового массива. Но каким-то образом я могу напрямую сохранить объект Bitset и не преобразовывать его в какую-либо другую форму. – Shubhra

+0

Нет. Это очевидно, если вы посмотрите на спецификацию BSON. Только родные типы BSON будут напрямую преобразованы из их Java-аналогов. Все остальные типы должны быть преобразованы в один из типов BSON на уровне приложения. –

+0

Мы можем использовать стороннюю библиотеку для преобразования java-объектов в тип mongo. В моем случае я использовал [morphia] (http://code.google.com/p/morphia/) – Shubhra

Смежные вопросы