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 から XMLGregorianCalendarとJAX-WS と Joda-Timeの質問は既に見ました。しかし、それらは私の問題には当てはまりません。