Better binding for JPA objectsを試してみたが...
1.0.1のリリースノートを読んで、JPAオブジェクトが自動的にロードされる旨、『Better binding for JPA objects』に書いてありました。
そこで、『データの修正』の、
public static void edit(long id, String message, String name) { String msg = "データを編集してください"; MsgData data = null; data = MsgData.findById(id); if(request.method.equals("POST")) { data.name = name; data.message = message; data.save(); msg = "データを更新しました。"; } render(data, msg); }
を以下のように修正してみました。
public static void edit(MsgData data) { String msg = "データを編集してください"; if(request.method.equals("POST")) { data.save(); msg = "データを更新しました。"; } render(data, msg); }
しかし、どうもブラウザからパラメータが渡っておらず、データベースにはデータがNULLでINSERTされました。
mysql> select * from MsgData; +----+---------+------+---------------------+ | id | message | name | time | +----+---------+------+---------------------+ | 3 | NULL | NULL | NULL | +----+---------+------+---------------------+ 4 rows in set (0.00 sec)
うー、なんでだろう。