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

top*_*opr 12 grails persistence grails-orm transient

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

第一节课:

class Person {

    String name
    Integer counter = 0

    static transients = ['counter']
}
Run Code Online (Sandbox Code Playgroud)

第二课:

class Vehicle {

    String name
    transient Integer counter = 0
}
Run Code Online (Sandbox Code Playgroud)

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

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

Ian*_*rts 15

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