Ответ 1
Есть несколько вариантов в зависимости от того, сколько полей/свойств вы хотите игнорировать.
Вариант №1 - @XmlTransient
Если вы хотите игнорировать менее половины свойств, я бы рекомендовал аннотировать их с помощью @XmlTransient
. Это исключит их из XML-сопоставления.
@XmlRootElement
class Example {
private int a;
private String b;
private Object c;
@XmlTransient
public int getA() { return a; } // UNMAPPED
public String getB() { return b; } // MAPPED
@XmlTransient
public Object getC() { return c; } // UNMAPPED
... //setters, constructors, etc.
}
Вариант № 2 - @XmlAccessorType(XmlAccessType.NONE)
Если вы хотите, чтобы более половины игнорируемых свойств я бы рекомендовал использовать аннотацию @XmlAccessorType
на уровне уровня для установки XmlAccessType.NONE
. Это приведет к отображению только аннотированных свойств в XML.
@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
class Example {
private int a;
private String b;
private Object c;
public int getA() { return a; } // UNMAPPED
@XmlElement
public String getB() { return b; } // MAPPED
public Object getC() { return c; } // UNMAPPED
... //setters, constructors, etc.
}
Дополнительная информация