私たちのプロジェクトの 1 つで、MongoDB インスタンスと通信する Java Web アプリケーションを使用しています。データベースではDBRefs
、いくつかのオブジェクトの関係を追跡するために使用します。jackson (mongodb-jackson-mapper を使用) を使用して、POJO オブジェクトを (デ) シリアライズします。
ただし、同じ POJO を使用して外部に (デ) シリアライズし、そこでフロント エンドが JSON の表示を処理します。
ここで、オブジェクト全体ではなくデータベースにDBRef
書き込みたいのは明らかですが、(UI が完全なオブジェクトを表示できるように)から参照されたオブジェクトを含む外部世界のシリアライゼーションの方法が必要です。DBRef
現在、テストされていない静的なネストされたクラス コードをいくつか書きました。
public static class FooReference {
public DBRef<Foo> foo;
// FIXME how to ensure that this doesn't go into the database?
public Foo getFoo() {
return foo.fetch();
}
}
理想的には、これに注釈を付けて、おそらくいくつかの構成オブジェクトに応じて、 getFoo() 結果の有無にかかわらずシリアル化 (逆) できるようにしたいと考えています。これは可能ですか?これを行うためのより良い方法はありますか?