我正在努力理解JPA的Transient注释。我假设使用Transient注释记录的字段将存储在本地缓存中,而不会保留在DB中。我基本上想知道何时从本地缓存清理它? 我使用它来存储其间歇状态的表,我在调用外部服务后返回的方法中使用此值。这是一个合适的用例吗?如果是这样,这样一个瞬态场的生命周期是什么?
答案 0 :(得分:-1)
@Entity
class Sample {
@Transient
String fieldOne;
transient String otherField;
}
fieldOne
不是暂时的(没有transient
关键字),因此被序列化(进出缓存,网络,文件或其他来源)。但JPA不会将其存储在数据库中,因为注释会拒绝。
otherField
不可序列化,具有transient
关键字(即从缓存引擎获取后,或者网络可以/将为null),但是在JPA数据库中默认行为
这不是学术讨论,有时它是可用的。通常是从其他人计算的值,或散列/加密/隐藏字段。