[英]Make a field transient for serialization, but non-transient for JPA
題:
JPA是否可以保留一個字段,但序列化會跳過該字段?
可能出現相反的情況(JPA跳過字段,而序列化則不這樣做),如果使用了此功能,則肯定可以相反。
像這樣:
@Entity
class MyClass {
// Other fields.
@NonTransient
private transient String strangeField;
}
我主要是出於好奇而問,所以我沒有特定的背景。
一種選擇是在實體上使用屬性訪問。 然后,將該字段標記為瞬態。 JPA將忽略該字段,僅使用getter。 因此,序列化會跳過該字段,而JPA使用getter。
@Entity(AccessType.Property)
class MyClass {
// Other fields.
private transient String strangeField;
public String getStrangeField() {
return strangeField;
}
public void setStrangeField(String strangeField) {
this.strangeField = strangeField;
}
}
您需要使用屬性訪問或使用XML來映射實體而不是注釋。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.