Java JAXB复制对象

Java JAXB复制对象,java,jaxb,Java,Jaxb,如果假定对象实例相同,如何避免创建不同的对象实例 以下是xml文件: <family> <person> <firstName>John</firstName> <father> <firstName>Gary</firstName> </father> <mother>

如果假定对象实例相同,如何避免创建不同的对象实例

以下是xml文件:

<family>
    <person>
        <firstName>John</firstName>
        <father>
            <firstName>Gary</firstName>
        </father>
        <mother>
            <firstName>Jane</firstName>
        </mother>
    </person>
    <person>
        <firstName>Philip</firstName>
        <father>
            <firstName>Franck</firstName>
        </father>
        <mother>
            <firstName>Jane</firstName>
        </mother>
    </person>
</family>

约翰
加里
简
菲利浦
弗兰克
简
父元素和母元素的类型为
Person

我有两个具有相同母亲的人,当我解组xml文件时,它会创建Person类的两个不同实例。有没有办法告诉他们应该是同一个对象?

一个XML文件可以使用与“指针”等价的东西。在XML模式方面

<xsd:element name="name" type="xsd:ID"/> <!-- in Person-->

<xsd:element name="persref" type="xsd:IDREF"/> <!-- the "pointer" to a person -->

“指针”是Person字段的值,它必须是唯一的(因此仅使用人名通常是不够的)。只编组一个“指针”值,而不是编组整个对象。完整对象本身必须单独编组


在你的例子中,这很简单,因为每个人都作为家庭成员出现过一次,而且只有一次。您只需对父亲和母亲使用“persref”元素有关技术详细信息,请参见。

XML文件可以表示“指针”的等价物。但是,如果数据如您所示,则必须对对象树进行后期处理,并折叠重复/多个相同的对象。您是否也创建XML文件?你能影响它的结构吗?是的,是我创建了xml文件。那个结构很方便,我会试试看是否能找到另一种方法来构建它。谢谢。我不知道这个,但我想这就是我要找的。非常感谢。