JAXB-REST无法获得扩展类对象

时间:2015-03-27 07:40:49

标签: java jaxb resteasy

我正在上A班和B班 B类扩展了A类

就像这样

@XmlAccessorType(XmlAccessType.NONE)
@XmlRootElement(name="root")
@Inheritance(strategy=InheritanceType.JOINED)
@XmlSeeAlso(value={B.class})
class A implements Serializable{
  @Column(name="name")
  @XmlAttribute(name="name")
  private String name;

    //more fields and getters and setters...

}

@XmlAccessorType(XmlAccessType.NONE)
@XmlRootElement(name="root")
class B extends A{

    @XmlElement(name="type")
    private String type;

    // Fields and getter setters...
}

当我在REST POST方法中传递B类对象时,我无法获取B的实例,而是只获取类A的实例。如何获取B实例,是否还有其他配置要执行此操作?

由于我有更多像B这样的类都扩展了A类,我需要在DB中保存各自的实体。请帮帮我。

修改

我的意见是:

<root name="Duster">
    <type>SUV<type>
</root>

1 个答案:

答案 0 :(得分:0)

@DiscriminatorColumn  
(  
 name="Discriminator",  
 discriminatorType=DiscriminatorType.STRING  
)  
@DiscriminatorValue(value="B") 

注释我们可以做到。