Есть ли разница между "статическими переходными процессами" и "переходным типом aField" для GORM?
Рассмотрим два примера примеров классов Grails.
1-й класс:
class Person {
String name
Integer counter = 0
static transients = ['counter']
}
2-й класс:
class Vehicle {
String name
transient Integer counter = 0
}
Будет ли какая-либо разница в сохранении GORM или классе домена для поля Integer counter между классами Person и Vehicle?
EDIT: Я знаю, что класс Person - это хороший способ сделать это, как указано в документах Grails. Однако я предпочел бы класс класса Vehicle, поскольку он кажется более очевидным и легче не упускать из виду при чтении кода.
Ответы
Ответ 1
Два механизма определяют разные виды "скоротечности". static transients
определяет свойства bean, которые не должны отображаться в базе данных по Hibernate, тогда как ключевое слово transient
обозначает поле, которое не должно быть сохранено механизмом сериализации объекта Java (например, при использовании веб-потока). Оба они используют свое использование в разных ситуациях.