繁体   English   中英

如何在Grails Domain Class中创建瞬态变量?

[英]How do I create a transient variable in a Grails Domain Class?

如何在非持久性的域类中设置变量。 我希望能够写入和读取该变量,但我不希望它成为表的一部分。

在rails中执行此操作的方法是使用attr_accessor设置变量。 Grails有可能这样吗? 有谁知道如何做到这一点?

谢谢!

只需将所有瞬态变量的名称添加到transients列表中,例如

class MyDomain {

  static transients = ['nonPersistent', 'nonPersistent2']

  Integer nonPersistent
  Integer nonPersistent2

  Integer persistent
  Integer persistent2      
}

定义不应持久保存到数据库的属性名称列表。 如果您具有辅助方法的只读访问器方法(“getters”),但通常与持久性相关而感到困惑,这通常很有用。

例子

class Author {
   String name
   String getUpperCaseName() { name.toUpperCase() }
   static transients = ['upperCaseName']
}

在这里,我在域类中创建了瞬态变量 -

class Application {
    dataType domainFields  //define datatypes
    static transients = [ 'name']

    String  getName() {
        return 'grails App'
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM