小编Kas*_*sen的帖子

(moxy)jaxb编组和hibernate代理对象

在过去的几天里,我尝试使用MOXy JAXB来支持Hibernate模型的XML编组/解组.试图这样做,我遇到了hibernates代理对象的问题.考虑类似的事情:

public class User {
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "address")
    public Address getAddress() {
        return address;
    }
}

public abstract class Address {
    // Something
}

public class CoolAddress extends Address {
    public String getSomething() {
        return something;
    }
}
Run Code Online (Sandbox Code Playgroud)

我试图使用MOXy JAXB以下列方式映射此代码:

@XmlAccessorType(XmlAccessType.NONE)
public class User {
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "address")
    @XmlElement
    public Address getAddress() {
        return address;
    }
}

@XmlAccessorType(XmlAccessType.NONE)
@XmlSeeAlso(CoolAddress.class)
public abstract class Address {
    // Something
}

@XmlAccessorType(XmlAccessType.NONE)
public class CoolAddress extends Address …
Run Code Online (Sandbox Code Playgroud)

proxy hibernate lazy-loading jaxb moxy

6
推荐指数
1
解决办法
4044
查看次数

moxy jaxb中的XmlAdapter和XmlIDREF

我正在尝试使用MOXy JAXB来序列化类A,它看起来像:

@XmlAccessorType(XmlAccessType.NONE)
@XmlRootElement
public class A {
    private Map<Foo, Bar> fooBar = new HashMap<Foo, Bar>();
    private Set<Foo> foos = new HashSet<Foo>();

    @XmlJavaTypeAdapter(FooBarMapAdapter.class)
    public Map<Foo, Bar> getFooBar() {
        return fooBar;
    }

    public void setFooBar(Map<Foo, Bar> fooBar) {
        this.fooBar = fooBar;
    }

    @XmlElement
    public Set<Foo> getFoos() {
        return foos;
    }

    public void setFoos(Set<Foo> foos) {
        this.foos = foos;
    }
}
Run Code Online (Sandbox Code Playgroud)

关键是"foos"字段中的Foo对象是fooBar映射中的Foo对象的超集.因此,我想将"fooBar"映射的关键元素"链接"到"foos"列表中的相应元素.我使用XmlID和XmlIDREF注释尝试了这个:

@XmlAccessorType(XmlAccessType.NONE)
public class Foo {
    private String xmlId;

    @XmlID
    @XmlAttribute
    public String getXmlId() {
        return xmlId;
    }

    public void setXmlId(String …
Run Code Online (Sandbox Code Playgroud)

java xml jaxb adapter moxy

5
推荐指数
1
解决办法
1486
查看次数

标签 统计

jaxb ×2

moxy ×2

adapter ×1

hibernate ×1

java ×1

lazy-loading ×1

proxy ×1

xml ×1