eclipseLinkmoxyを使用して抽象クラスを拡張しているクラスをマーシャリングしようとしています。
public abstract class AbstractExample {
private String fieldA;
private String fieldB;
// Getters, setters
}
public class Example extends AbstractExample {
private String fieldC;
private String fieldD;
// More fields, getters and setters
}
私はマッピングにxmlを使用します:
<java-type name="com.example.Example">
<xml-root-element name="com.another.package.Example2" />
<java-attributes>
<!-- All fields defined here -->
</java-attributes>
</java-type>
これで、マーシャリングを解除するときにすべてが正常になります。オブジェクトをマーシャリングしているときに問題が発生します。それ以外の
<com.another.package.Example2>
私が取得するルート要素のみ
<Example2>
ルート要素として。興味深いこと-抽象クラスからExampleにフィールドをプッシュし、extends AbstractExampleキーワードを削除するとすぐに、ルートが本来あるべき姿になります。
<com.another.package.Example2>.
私は何か間違ったことをしていますか?私は本当に抽象クラスを拡張する必要があります。そうしないと、コードに多くの冗長性があります。