ObjectId を JSON に変換する際に問題があったため、実際に同じことをしました。
私はそれから次のようなことをしました
@Id
private String id;
public String getId() {
return id();
}
public void setId(String id) {
this.id = id;
}
そして、以前に挿入されたドキュメントを更新することを決定するまで、すべてが正常に機能し、ID でオブジェクトを取得して JSON 経由でページに送信し、JSON ポストによって同じ更新されたオブジェクトを受信し、代わりにデータストアから保存機能を使用しました。以前のデータを更新すると、既存のドキュメントを更新する代わりに、新しいドキュメントが挿入されました。
最悪の場合、新しいドキュメントは以前に挿入されたものと同じ ID を持っていました。これは不可能だと思いました。
とにかく、プライベートオブジェクトを ObjectID として設定し、get set を文字列として残したところ、期待どおりに機能しましたが、それがあなたのケースの考えに役立つかどうかはわかりません。
@Id
private ObjectId id;
public String getId() {
return id.toString();
}
public void setId(String id) {
this.id = new ObjectId(id);
}