簡體   English   中英

使字段臨時進行序列化,但對JPA非臨時

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM