JPA @Transient注释字段的生命周期是多少

时间:2018-01-05 20:20:03

标签: jpa transient

我正在努力理解JPA的Transient注释。我假设使用Transient注释记录的字段将存储在本地缓存中,而不会保留在DB中。我基本上想知道何时从本地缓存清理它? 我使用它来存储其间歇状态的表,我在调用外部服务后返回的方法中使用此值。这是一个合适的用例吗?如果是这样,这样一个瞬态场的生命周期是什么?

1 个答案:

答案 0 :(得分:-1)

@Entity
class Sample {
  @Transient 
  String fieldOne;

  transient String otherField;
}

fieldOne不是暂时的(没有transient关键字),因此被序列化(进出缓存,网络,文件或其他来源)。但JPA不会将其存储在数据库中,因为注释会拒绝。

otherField不可序列化,具有transient关键字(即从缓存引擎获取后,或者网络可以/将为null),但是在JPA数据库中默认行为

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