3

XmlGregorianCalendar を 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 incompatible with java.util.Dateが発生します。

問題は、Hyperjaxbがアダプターのみを作成することだと思います

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>>

誰かがこれに対する解決策を持っていますか?

よろしくエルゼン

PS: java.util.Date と XMLGregorianCalendar 間の単純な変換java.util.Date から XMLGregorianCalendarJAX-WS と Joda-Timeの質問は既に見ました。しかし、それらは私の問題には当てはまりません。

4

0 に答える 0