Как создать переходную переменную в классе домена 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']
}