Hyperjaxb:XMLGregorianCalendar到java.util.Date的日期列表

时间:2016-06-02 16:30:43

标签: java hibernate xsd jaxb hyperjaxb

我实现了how replace XmlGregorianCalendar by Date?的解决方案,但遗憾的是它不适用于日期列表。 在我的XSD中我有

<xs:element name="Attribute1" type="xs:date" minOccurs="0">

<xs:element name="Attribute2" type="xs:date" minOccurs="0" maxOccurs="5">

Attribute2是一个日期列表。如果我使用此属性加载实体,我会得到 java.lang.ClassCastException:org.hibernate.collection.internal.PersistentList与java.util.Date不兼容

我认为问题在于,Hyperjaxb只创建了一个Adapter

public class Adapter2 extends XmlAdapter<String, Date>
{
    public Date unmarshal(String value) {
        return (XsdDateTimeConverter.unmarshal(value));
    }

    public String marshal(Date value) {
        return (XsdDateTimeConverter.marshalDate(value));
    }

}

也许Hyperjaxb还需要为List<Date>创建一个适配器public class Adapter3 extends XmlAdapter<List<String>, List<Date>>

有人有解决方案吗?

此致 Erzen

PS:我已经看过问题Simple conversion between java.util.Date and XMLGregorianCalendarjava.util.Date to XMLGregorianCalendarJAX-WS and Joda-Time?,但这些问题并不适用于我的问题。

0 个答案:

没有答案