JPA @Transient 注释字段的生命周期是多少
What is the lifetime of the JPA @Transient annotated field
我很难理解 JPA 的 Transient 注释。我假设用 Transient 注释标注的字段将存储在本地缓存中,而不是持久保存在数据库中。我基本上想知道什么时候会从本地缓存中清除它?
我将它用于 table 以存储其间歇状态,并在调用外部服务后返回的方法中使用该值。这是一个合适的用例吗?如果是这样,这种瞬变场的寿命是多长?
@Entity
class Sample {
@Transient
String fieldOne;
transient String otherField;
}
fieldOne
不是瞬态的(没有 transient
关键字),所以是序列化的(to/from 缓存、网络、文件或其他来源)。但是JPA不会把它存入数据库,因为annotation denies.
otherField
不可序列化,具有 transient
关键字(即从缓存引擎获取后,或网络 can/will 为空),但在 JPA 数据库中使用默认行为
这不是学术讨论,有时是有用的。通常是从其他人计算的值,或散列/加密/隐藏字段。
我很难理解 JPA 的 Transient 注释。我假设用 Transient 注释标注的字段将存储在本地缓存中,而不是持久保存在数据库中。我基本上想知道什么时候会从本地缓存中清除它? 我将它用于 table 以存储其间歇状态,并在调用外部服务后返回的方法中使用该值。这是一个合适的用例吗?如果是这样,这种瞬变场的寿命是多长?
@Entity
class Sample {
@Transient
String fieldOne;
transient String otherField;
}
fieldOne
不是瞬态的(没有 transient
关键字),所以是序列化的(to/from 缓存、网络、文件或其他来源)。但是JPA不会把它存入数据库,因为annotation denies.
otherField
不可序列化,具有 transient
关键字(即从缓存引擎获取后,或网络 can/will 为空),但在 JPA 数据库中使用默认行为
这不是学术讨论,有时是有用的。通常是从其他人计算的值,或散列/加密/隐藏字段。