升级grails后在域中设置不起作用

时间:2013-07-09 10:45:06

标签: grails grails-2.2

最近我将grails从1.3.4升级到2.2.2,并且在尝试迭代在域中定义为hasMany的Set时遇到错误。

class A {
 String name
 static hasMany = [bList: B]
}

class B {
 static belongsTo = [a:A]
}

class TestController {
 def test = {
  A a = A.get(1L)
  def bList = a.bList
  bList.each{}
 }
}

bList.each {} 上面的行正在抛出异常

  

java.lang.IllegalArgumentException:参数数量错误

     

在   org.grails.datastore.mapping.engine.event.AbstractPersistenceEventListener.onApplicationEvent(AbstractPersistenceEventListener.java:46)

     

在   com.test.TestController $ _closure2.doCall(TestController.groovy:5)

     

在   java.util.concurrent.ThreadPoolExecutor中$ Worker.runTask(ThreadPoolExecutor.java:895)

     

在   java.util.concurrent.ThreadPoolExecutor中$ Worker.run(ThreadPoolExecutor.java:918)

     

在java.lang.Thread.run(Thread.java:680)

1 个答案:

答案 0 :(得分:0)

所以我找到了问题

B类附加了一个 afterLoad()事件挂钩,出于某种奇怪的原因抛出了 java.lang.IllegalArgumentException:错误的参数数量 < / strong>例外我现在将其更改为 onLoad()现在快乐的日子。

由于 侯赛因