Как создать временную переменную в доменном классе Grails? - PullRequest
12 голосов
/ 16 декабря 2011

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

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

Спасибо!

Ответы [ 3 ]

22 голосов
/ 16 декабря 2011

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

class MyDomain {

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

  Integer nonPersistent
  Integer nonPersistent2

  Integer persistent
  Integer persistent2      
}
1 голос
/ 08 марта 2017

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

Примеры

class Author {
   String name
   String getUpperCaseName() { name.toUpperCase() }
   static transients = ['upperCaseName']
}
0 голосов
/ 05 января 2015

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

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

    String  getName() {
        return 'grails App'
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...