簡體   English   中英

從XMLEncoder的序列化中排除byte []

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

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