2016-02-03 11 views
0

Проблема заключается в том, как исключить byte[] из сериализации XMLEncoder, но мне нужно сохранить это поле в DB. У меня есть объектисключая байт [] из сериализации XMLEncoder

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 модификатор свойства не работает; @Transient аннотация по методу get get не работает; @XMLTransient аннотация по недвижимости не работает. Это так просто, но мне нужна помощь сообщества!

+0

, что '@ Transient' аннотации вы используете? – wero

ответ

0

Ответ должен использовать @java.beans.Transient annotaion on get method вместо @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 ... 
}