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