2012-04-02 48 views
0

我在java中使用mongoDB。我想在數據庫中保存Java Bitset對象,但是在執行table.insert(doc)時,我得到IllegalArgumentException。在mongoDB中保存java位對象

錯誤:

java.lang.IllegalArgumentException異常:不能序列類java.util.BitSet中 org.bson.BasicBSONEncoder._putObjectField(BasicBSONEncoder.java:234)

回答

0

this question

基本上,你的BitSet變成一個長或字節數組,並保存,當你檢索它時轉換回來。

+0

當前我正在做同樣的操作,即使用字節數組。但有什麼方法可以直接保存Bitset對象,而不是以任何其他形式轉換它。 – Shubhra 2012-04-02 11:37:36

+0

不,如果你看看BSON規範,這是顯而易見的。只有BSON本地類型將直接從其Java對應轉換而來。所有其他類型必須在應用程序級別轉換爲其中一種BSON類型。 – 2012-04-02 13:21:10

+0

我們可以使用第三方庫將java對象轉換爲mongo類型。在我的情況下,我使用[morphia](http://code.google.com/p/morphia/) – Shubhra 2012-04-13 08:46:54