Подтвердить что ты не робот

Есть ли разница между "статическими переходными процессами" и "переходным типом 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, поскольку он кажется более очевидным и легче не упускать из виду при чтении кода.

4b9b3361

Ответ 1

Два механизма определяют разные виды "скоротечности". static transients определяет свойства bean, которые не должны отображаться в базе данных по Hibernate, тогда как ключевое слово transient обозначает поле, которое не должно быть сохранено механизмом сериализации объекта Java (например, при использовании веб-потока). Оба они используют свое использование в разных ситуациях.