0

問題はbyte[]、XMLEncoder のシリアル化から除外する方法ですが、このフィールドを 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 プロパティの修飾子は機能しません。 @Transientget メソッドの注釈は機能しません。 @XMLTransientプロパティの注釈は機能しません。とてもシンプルですが、コミュニティの助けが必要です!

4

1 に答える 1

0

答えは、 @java.beans.Transient@Transient の代わりに get メソッドでアノテーションを使用することです。私の場合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 ...
}
于 2016-02-03T11:40:33.210 に答える