如何使用用户定义的函数为 grails 中的域类变量设置默认值

Posted

技术标签:

【中文标题】如何使用用户定义的函数为 grails 中的域类变量设置默认值【英文标题】:How can i use user define fucntion to set default value for domain class variable in grails 【发布时间】:2015-02-03 19:39:54 【问题描述】:

这里的Cycle是一个领域类

class Cycle 
    int lenght = 42 
    String[] monitor = new String[length]
    static mapping = 
       monitor defaultValue:"defaultstrval(length)"
    
    def defaultstrval(int length)
    
       String[] defaultval =new String[length]

       for(int i=0;i<length;i++)
       
          defaultval[i]=","
       

       return defaultval    
    

Domain 类是否只接受 sql 函数。我真的需要帮助。

【问题讨论】:

【参考方案1】:

您可以像这样简单地从变量赋值中调用函数,而不是使用映射闭包来调用您的函数

String[] monitor = defaultstravel(length)

【讨论】:

该方法必须是静态的,因为它是从静态 mapping 块调用的。 如果我使用这个 String[] monitor = defaultstrval(length) 似乎该方法返回垃圾值。我该如何解决这个 Burt。

以上是关于如何使用用户定义的函数为 grails 中的域类变量设置默认值的主要内容,如果未能解决你的问题,请参考以下文章

如何修复 Grails 错误:“找不到名称 PrivacyOptions 的域类。请重试并输入有效的域类名称”

GORM 无法实现插件中的域类是 GORM 类

grails域类中的时间字段

Grails,Field 的域类默认值

命名查询中的 Grails GORM 计数函数

在 Grails 中扩展具有一对多关系的域类