繁体   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