我正在尝试编组一个使用 eclipseLink moxy 扩展抽象类的类:
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>
作为根元素。有趣的是-一旦我将抽象类中的字段下推到示例中,并删除扩展 AbstractExample 关键字,根就是它应该是的
<com.another.package.Example2>.
难道我做错了什么?我真的需要扩展抽象类,否则我的代码会有很多冗余。