1

私は2つのクラスを持っています

    class First{
      private Date date;

      public Date getDate(){
        return date;
      }
      ...
    }

class Second extends First{
    @XmlAttribute
    @XmlJavaTypeAdapter(value = DateAdapter.class, type = Date.class)
    public Date getDate() {
        return super.getDate();
    }
}

DateAdapter は Date を Long に変換し、元に戻すだけです。
Second クラスのインスタンスをシリアル化していますが、DateAdapter が無視されているようです。つまり、長い表現ではなく、文字列「2013-05-22T13:32:40.664」を取得します。

@XmlJavaTypeAdapter アノテーションを First クラスに移動すると問題なく動作しますが、First を変更できないという問題があり、それが基本的にラッパー クラス Second を作成した理由です。

XmlJavaTypeAdapter を認識させるにはどうすればよいですか?

4

1 に答える 1