4

バックグラウンド

クラスの変数を含むルート要素クラスがありますjava.sql.Timestamp。JAXB にその変数から xml 要素を作成してもらいます。

私が試したこと

  • であるクラスアダプターを作成します。

java.sql.Date をインポートします。

java.sql.Timestamp をインポートします。

import javax.xml.bind.annotation.adapters.XmlAdapter;

public class TimestampAdapter extends XmlAdapter <Date, Timestamp> {
  public Date marshal(Timestamp v) {
      return new Date(v.getTime());
  }

  public Timestamp unmarshal(Date v) {
      return new Timestamp(v.getTime());
  }

}

  • . 次に、その変数を取得する関数に注釈を付けます。

@XmlJavaTypeAdapter(TimestampAdapter.class)
public java.sql.Timestamp getEndDate() {

if (終了日 == null)

検索情報();

終了日を返します。

}

問題

私はまだこの例外を受け取ります

java.sql.Date does not have a no-arg default constructor.

また、私はThis Threadをチェックしましたが、私の場合ではなく、 String to TimeStamp について話しているのです。

どんな助けでも大歓迎です。

編集

この変数はクラスにあります。このようOrderStatusにクラスから呼び出しますOrderImpl

@Override
    @XmlElement(name = "Status", type = OrderStatus.class)
    public OrderStatus getStatus() {
        return status;
    }
4

2 に答える 2

2

アダプターは次のようにする必要があります。

public class TimestampAdapter extends XmlAdapter<Date, Timestamp> {
      public Date marshal(Timestamp v) {
          return new Date(v.getTime());
      }
      public Timestamp unmarshal(Date v) {
          return new Timestamp(v.getTime());
      }
  }

@XmlJavaTypeAdapter( TimestampAdapter.class)
        public Timestamp done_date;
于 2013-05-24T21:08:06.537 に答える