GORM的'静态瞬态'和'瞬态类型aField'声明之间有什么区别吗?

时间:2012-09-17 15:12:41

标签: grails persistence gorm transient

让我们考虑两个Grails域示例类。

第一堂课:

class Person {

    String name
    Integer counter = 0

    static transients = ['counter']
}

第二课:

class Vehicle {

    String name
    transient Integer counter = 0
}

Person Vehicle 之间的整数计数器字段的GORM持久性或域类行为是否会有任何差异?

编辑:我知道 Person 类是Grails docs引用的好方法。但是我更喜欢 Vehicle 类的方式,因为在阅读代码时它似乎更容易被忽视。

1 个答案:

答案 0 :(得分:15)

这两种机制定义了不同类型的“短暂性”。 static transients定义不应由Hibernate映射到数据库的bean属性,而transient关键字表示不应由Java对象序列化机制保存的字段(例如,在使用webflow时)。它们都可以在不同情况下使用。