Grails域对象成员如何根据计算值具有默认名称?

时间:2014-08-24 15:01:54

标签: grails groovy

这就是我想要做的事情:

class Test {

   String name

   static mapping = {
    name defaultValue: "test_${Test.count()}"
   }
}

所以当一个新的"测试"创建对象的名称为test_1,test_2,test_3等,具体取决于已存在的测试对象的数量。上述方法不起作用,因为" test.count在Grails应用程序之外使用"

1 个答案:

答案 0 :(得分:1)

您可以初始化属性,而不是通过映射闭包指定值。

class Test {
    String name = "test_${Test.count()}"
}

class Test {
    String name = initName()

    private static String initName() {
        def count = Test.count()
        return "test_" + count
    }
}