2013-07-11 48 views
0

我第一次使用遊戲,並陷入迷宮。我正在嘗試將頂部和左側的值與產品名稱一起存儲在數據庫中。我設法將值傳遞給控制器​​,但不知道如何從那裏存儲它。Play Framework:存儲座標在數據庫中的ebeans在發揮框架

//controller 
    @BodyParser.Of(play.mvc.BodyParser.Json.class) 
     public static Result myMethod(){ 
      response().setContentType("application/json"); 
      JsonNode json = request().body().as(JsonNode.class); 
      JsonNode jsonRequest = request().body().asJson(); 
      //left and top 
      Double left= jsonRequest.findPath("Left").asDouble(); 
      Double top= jsonRequest.findPath("Top").asDouble(); 
      ObjectNode result = Json.newObject(); 
      System.out.println("left " +left+"\ntop "+top); 
      result.put("status", "OK"); 
      return ok(result); 
     } 

這是我的數據庫架構

@Entity 
public class Position extends Model { 

    @Id 
    public long id; 

    @Required 
    public long left; 

    @Required 
    public long top; 

    public static Finder<Long,Position> find = new Finder<Long,Position>(Long.class, Layout.class); 
} 

如何保存使用ebeans它???

回答

0

我得到了這個答案。你所要做的就是將它從json轉換成Java Object。

//controller 
@BodyParser.Of(play.mvc.BodyParser.Json.class) 
    public static Result myMethod(){ 
     response().setContentType("application/json"); 
     ObjectNode result = Json.newObject(); 
     JsonNode json = request().body().asJson(); 
     Position p = Json.fromJson(json, Position.class); 
     System.out.println(json);// to view in controller 
     p.save(); 

     result.put("status", "OK"); 
     return ok(result); 
    }