Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JPA-RS中的继承和列表:项不';不显示在预期的父元素处_Jpa_Eclipselink_Moxy_Jpa Rs - Fatal编程技术网

JPA-RS中的继承和列表:项不';不显示在预期的父元素处

JPA-RS中的继承和列表:项不';不显示在预期的父元素处,jpa,eclipselink,moxy,jpa-rs,Jpa,Eclipselink,Moxy,Jpa Rs,给定一个根类,其属性私有列表项和基为抽象类: // omitted properties, Constructor, Getter, Setter, etc. @Entity @XmlRootElement(name = "ROOT") @XmlAccessorType(XmlAccessType.FIELD) public class Root implements Serializable { @OneToMany(cascade = CascadeType.ALL) @

给定一个根类,其属性
私有列表项
抽象
类:

// omitted properties, Constructor, Getter, Setter, etc.

@Entity
@XmlRootElement(name = "ROOT")
@XmlAccessorType(XmlAccessType.FIELD)
public class Root implements Serializable {

    @OneToMany(cascade = CascadeType.ALL)
    @JoinTable(name = "ROOT_TO_BASE", joinColumns = {
        @JoinColumn(name = "PARENT_ROOT_ID") }, inverseJoinColumns = {
        @JoinColumn(name = "BASE_ID") })
    @XmlElementWrapper(name = "ITEMS")
    @XmlElements({ @XmlElement(name = "FOO", type = Foo.class),
            @XmlElement(name = "BAR", type = Bar.class) })
    private List<Base> items;

@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
@XmlSeeAlso({ Foo.class, Bar.class })
public class Base implements Serializable {

    @XmlElement(name = "BASE-NAME")
    private String baseName;

}
//省略了属性、构造函数、Getter、Setter等。
@实体
@XmlRootElement(name=“ROOT”)
@XmlAccessorType(XmlAccessType.FIELD)
公共类根实现可序列化{
@OneToMany(级联=级联类型.ALL)
@JoinTable(name=“ROOT\u TO\u BASE”,joinColumns={
@JoinColumn(name=“PARENT\u ROOT\u ID”)},inverseJoinColumns={
@JoinColumn(name=“BASE\u ID”)}
@xmlementwrapper(name=“ITEMS”)
@XmlElements({@XmlElement(name=“FOO”,type=FOO.class),
@XmlElement(name=“BAR”,type=BAR.class)})
私人清单项目;
@实体
@继承(策略=继承类型。每个类的表)
@XMLSEEALLO({Foo.class,Bar.class})
公共类基类实现了可序列化{
@xmlement(name=“BASE-name”)
私有字符串基名称;
}
Root
/persistence/PU/entity/Root/123
实体的预期输出应如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<ROOT ID="123">
    <ITEMS>
        <_link href="<base-url>/persistence/PU/entity/Foo/6" method="GET" rel="self" />
        <_link href="<base-url>/persistence/PU/entity/Bar/7" method="GET" rel="self" />
    </ITEMS>
    <_relationships>
        <_link href="<base-url>/persistence/PU/entity/Root/123/items" rel="items"/>
    </_relationships>
</ROOT>
<?xml version="1.0" encoding="UTF-8"?>
<ROOT ID="123">
    <ITEMS/>
    <_relationships>
        <_link href="<base-url>/persistence/PU/entity/Root/123/items" rel="items"/>
    </_relationships>
</ROOT>

但实际上它看起来是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<ROOT ID="123">
    <ITEMS>
        <_link href="<base-url>/persistence/PU/entity/Foo/6" method="GET" rel="self" />
        <_link href="<base-url>/persistence/PU/entity/Bar/7" method="GET" rel="self" />
    </ITEMS>
    <_relationships>
        <_link href="<base-url>/persistence/PU/entity/Root/123/items" rel="items"/>
    </_relationships>
</ROOT>
<?xml version="1.0" encoding="UTF-8"?>
<ROOT ID="123">
    <ITEMS/>
    <_relationships>
        <_link href="<base-url>/persistence/PU/entity/Root/123/items" rel="items"/>
    </_relationships>
</ROOT>

元素在提供的url上可用,但对我来说,这与通常的JPA-RS模型不一致。
问题:这是一个bug还是用于继承类

我使用的是EL 2.5.1.v20130918