используя JAXB, XML загружается в класс. Затем этот класс используется в другом классе для сортировки по-разному.

Дан XML-файл предложений, который затем загружается в класс с именем Offers через JAXB.

Этот класс имеет следующее: название, ценовой подкласс, модификаторы, правила заказа и т. д.

Затем я создаю заказ и в этом заказе

Заказать

public class ProductOrder {

    private String OrderId;
    private Date createDate;
    private OrderStatus orderStatus;
    private int CustomerOrderID;
    private ArrayList<ProductOrderItem> productOrderItems = new ArrayList<ProductOrderItem>();
}

Заказать товар

public class ProductOrderItem {
    private int OrderItemID;
    private **Offering** offering;
    private Map<String, Integer> qtylist = new HashMap<String, Integer>();
    private ArrayList<Modifier> modifiers = new ArrayList<Modifier>();
    private int qty;
}

Предложение

@XmlRootElement(name = "offering")
@XmlAccessorType(XmlAccessType.FIELD) // NONE) 
public class Offering {    
    @XmlAttribute
    private String id;

    @XmlElement
    private String offeringName;

    @XmlElement
    private String description;

    @XmlElement
    private Integer price;
}

Предложение и модификаторы - это классы с JAXB, которые я хочу использовать только для части XML. Как изменить аннотации так, чтобы отправлялась только часть элементов? Например не предложение -> модификаторы?


person user448862    schedule 18.02.2013    source источник


Ответы (1)


Используйте @XmlTransient вместо тега @XmlElement.

person Bryan Huang    schedule 18.02.2013
comment
Но я хочу ОБЕИХ. При получении XMLElement и при отправке XMLTransient будет моей целью. - person user448862; 19.02.2013
comment
В таком случае, почему бы не использовать отдельные VO, где переходные атрибуты помечены как переходные для исходящей сортировки? - person Bryan Huang; 19.02.2013