Как создать переходную переменную в классе домена Grails?

Как настроить переменную в классе домена, которая не является постоянной. Я хочу, чтобы иметь возможность писать и читать эту переменную, но я не хочу, чтобы она была частью таблицы.

Способ сделать это в рельсах - это установить переменную с attr_accessor. Возможно ли это в Grails? Кто-нибудь знает, как это сделать?

Спасибо!

Ответ 1

Просто добавьте имена всех переходных переменных в список transients, например

class MyDomain {

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

  Integer nonPersistent
  Integer nonPersistent2

  Integer persistent
  Integer persistent2      
}

Ответ 2

Здесь я создал переходную переменную в классе домена -

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

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

Ответ 3

Определяет список имен свойств, которые не должны сохраняться в базе данных. Это часто полезно, если у вас есть методы доступа только для чтения ( "getters" ), которые являются вспомогательными методами, но запутываются как связанные с сохранением.

<сильные > Примеры

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