grails域delete()是否更新事务中子项的数量

时间:2016-12-23 20:46:03

标签: hibernate grails gorm

我将通过测试自己回答这个问题,但我想我会参加stackoverflow社区...

在grails域事务中,子事务记录的数量是否在事务内部发生变化(例如删除)

yarn.lock

1 个答案:

答案 0 :(得分:0)

答案是肯定的。虽然grails不允许孩子接触孩子[0]。我不得不通过使用children.collect {it} [0]或者来解决这个问题 children.iterator()。下一个()

测试:

 def p=new TestParentDomain();
 def i=0
 while(i<3){
     def child=new TestChildDomain();
     m.addToChildren(child);
    i++
 }
 m.save(flush:true);
 println p.children.size() //3   

 TestParentDomain.withTransaction{status->
    while(m.children.size()>1){
       m.removeFromChildren(m.children.iterator).next()).save(flush:true)
    }
 }
 println m.children.size();//1