我需要一次性保持一对多关系的父级和子级 - 有问题的域对象是Project
和ProductLineItem
(aProject
有很多ProductLineItem
s)。
我创建了一个页面,用户可以在其中向“产品”表添加一行或多行,并且我希望在用户提交表单时每一行都作为新的ProductLineItem
(由 拥有)保存。Project
第一次保存域对象效果很好,但是当我尝试更新同一组对象(通过更新页面)时,我在控制器中得到一个 IndexOutOfBoundsException
projectInstance.properties = params
我可以通过像这样声明productLineItems
集合来解决这个Project
问题 -
Collection<ProductLineItem> productLineItems = ListUtils.lazyList(new ArrayList(), {new ProductLineItem()} as org.apache.commons.collections.Factory)
但是由于某种原因,这会阻止ProductLineItem.project
在我进行初始保存时填充该属性。
我正在使用 Grails 2.2.2。有任何想法吗?