問題:
是否有可能讓JPA保留字段但通過序列化跳過?爲JPA創建一個字段瞬態,但JPA不是瞬態的
它可以實現相反(JPA跳過一個字段和序列化不),如果使用此功能,肯定會反過來是有用的。
事情是這樣的:
@Entity
class MyClass {
// Other fields.
@NonTransient
private transient String strangeField;
}
我問大多是出於好奇,所以我沒有一個具體的情境。
問題:
是否有可能讓JPA保留字段但通過序列化跳過?爲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映射實體而不是註釋。