我将通过测试自己回答这个问题,但我想我会参加stackoverflow社区...
在grails域事务中,子事务记录的数量是否在事务内部发生变化(例如删除)
yarn.lock
答案 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