ManyToMany Ebean映射无法从View工作

时间:2015-03-30 01:41:13

标签: java ebean playframework-2.3

美好的一天,

我有两个模型(Products和ProductCategory)在ManyToMany关系中彼此相关。但是,当我尝试保存包含应该映射到ProductCategory的html选择字段的Product表单时,我得到了

{"product_categories":["Invalid value"]}

我的模特

Products.class
  public class Products extends Model{
    @ManyToOne
    public ProductCategories product_categories;
    ........Other methods and variables
  } 



ProductCategories.class
  public class ProductCategories extends Model
     @OneToMany(cascade = CascadeType.ALL, mappedBy = "product_categories")
     public List<Products> product = new ArrayList<>();
     ..........othee methods and variables
  }

视图就像这样

<select name="product_categories" class="form-control required">
     @for(prodCategory <- productCategories){
        <optionvalue="@prodCategory.getId()">@prodCategory.getCategory_name()</option>
} 
</select>

我实际上还更新了两个模型之间与OneToMany的关系,并收到了相同的错误消息。我也试过我在谷歌的一些帖子上看到的,我应该在视图中添加一个[],即

<select name="product_categories[]" class="form-control required">这是同一个问题。我可以确认视图是使用request().body().asFormUrlEncoded()

将视图中的所有数据发送回控制器

请有人知道如何让映射工作吗?

1 个答案:

答案 0 :(得分:0)

感谢@singhakash将我带回类似问题的自己的帖子。我注意到他的观点名称包括.id,例如我使用product_categories作为他使用product_categories.id的选择名称后,我改变了它,使用{{1}}中列出的步骤{{1}} 3}}。没有这种改变,我就无法超越验证步骤。