play2のフォームに問題があります。
モデル:
@Id private ObjectId id;
形
<input name="id" id="id" type="hidden" value="@guidesForm.field("id").value()">
idフィールドを初期化できませんbindFromRequest()
。常に空になります。また、文字列ではなくObjectIdでのみクエリを実行できます。
ObjectId id = new ObjectId(form().bindFromRequest().get("id"));
これは、objectidの正しいコンストラクターです。ご覧のとおり、これは私の回避策です。使用せずguideForm.bindFromRequest();
、直接バインドする必要があります。
これは少しハッキーな感じがします。通常のバインディングを使用できるソリューションはありますか?
Form<Myclass> guideForm = form(Myclass.class);
Form<Myclass> filledForm = guideForm.bindFromRequest();