[英]excluding byte[] from serialization of XMLEncoder
問題是如何從XMLEncoder的序列化中除去byte[]
,但是我需要將此字段保存到DB。 我有一個對象
public class MyClass1 implements Serializable {
some properties ...
private byte[] a01_14_01_content;
getters and setters ...
}
和編碼器:
import java.beans.XMLEncoder;
public class MyEncoder{
...
public byte[] getBytes() {
XMLEncoder e = new XMLEncoder(baos);
e.writeObject(answer);
e.close();
return baos.toByteArray();
}
}
我需要序列化除數組字段之外的所有字段。 屬性的transient
修改器不起作用; get方法上的@Transient
注釋不起作用; 屬性上的@XMLTransient
注釋不起作用。 很簡單,但是我需要社區的幫助!
答案是在get方法上使用@java.beans.Transient
注釋,而不是@Transient。 在我的情況下, import javax.persistence.*
導致了“錯誤”))
public class MyClass1 implements Serializable {
some properties ...
private byte[] a01_14_01_content;
@javax.beans.Transient //not @Transient
public byte[] getA01_14_01_content() {
return a01_14_01_content;
}
//getters and setters ...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.