【发布时间】:2012-02-24 10:25:11
【问题描述】:
我正在尝试编组一个使用 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>.
我做错了吗?我真的需要扩展抽象类,否则我的代码会有很多冗余。
【问题讨论】:
-
澄清一下:我不希望 xml-root-element 成为 Example 的限定名称。我需要它是完全不同的包名和类名。
标签: jaxb eclipselink moxy