[mongodb][java] Java Driverのオブジェクトに変換するmapperを書いてみた
前回JMongoStoreを作った際、HTTP Sessionに格納したオブジェクトをMongoDBに保存する為、JavaのオブジェクトとJava DriverのDBObjectとを相互変換するクラスを書きました。今回、それを別のモジュールとして切り出してmonganezという名前でgithubにアップしました。
特徴
- Map/Iterable/POJOとDBObjectを相互変換する
- 事前に変換対象となるクラスの型をmapperに通知しておく必要がない
- ネストしたオブジェクトも自動的にDBObjectに変換する(←今回はこれがやりたかった)
- (今のところ)変換対象のクラスにAnnotationを付与する必要がない
ついでにMaven Repositoryを作成してjarをアップしました。JMongoStoreもmonganezを使うように変更しています。使い方は以下のとおりです。
Java Object -> DBObject
Foo foo = new Foo(); ... DBObjectEncoder encoder = new DBObjectEncoder(); collection.save(encoder.encode(foo));