无法在Grails中创建新的域对象

时间:2012-11-01 22:05:49

标签: grails gorm

嗨,我仍然对Grails很新,我也无法弄清楚为什么会这样。

我有一个域类:

package scheduler

class Client {
  String name

  static constraints = {}
}

还有一个控制器:

package scheduler
class AdminController {
  def create() {
    def client = new Client(name:"John")
    println client
  }
}

目前我总是为客户端获取null。最初上面在域级方面稍微复杂一些,但我系统地将它愚蠢地看下去是否存在问题。我仍然无法完成上述工作。

输出始终是 scheduler.Client:null

如果我需要提供更多信息,请告诉我。

1 个答案:

答案 0 :(得分:4)

它不是null,这只是Grails添加的toString方法的默认输出。它打印类名和id。由于您尚未保存实例,因此id为null。如果实例为null,则输出为null,而不是scheduler.Client : null

如果要查看实例中的数据,请使用Groovy dump()方法,例如

def client = new Client(name:"John")
println client.dump()

您还可以添加包含toString属性的name方法,例如

package scheduler

class Client {
   String name

   String toString() { name }
}