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 数据库中使用默认行为

这不是学术讨论,有时是有用的。通常是从其他人计算的值,或散列/加密/隐藏字段。