这是一个很奇怪的问题。由于模糊def递归造成的grails堆栈溢出
我有两个类之间的多对多关系,订阅&方案。事情是我试图删除它们之间的关系,当在每个这些类中使用“beforeDelete”删除它们时。
ScenarioSubscription是代表联结表的类。
这就是我在场景中的beforeDelete def的样子。
def beforeDelete = {
//Delete rows in junction table
def example = new ScenarioSubscription(scenarioId:id)
def scenSub = ScenarioSubscription.findAll(example)
scenSub*.delete(flush:true)
}
它适用于Subscription类,但不适用于方案。相反,当调用* .delete()时,递归调用“beforeDelete”def。调试时检查了变量,scenSub是ScenarioSubscription的列表。疯?!
对于发生什么事情的任何想法都非常感谢。