Java JAXB-REST无法获取扩展类对象

Java JAXB-REST无法获取扩展类对象,java,jaxb,resteasy,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")

我有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>


注释我们可以做到。

您能显示POST方法吗?似乎与相同的@XmlRootElement注释值冲突。你可以在子类中去掉它,它仍然可以work@peeskillet所以它不会根据输入值检测实例?还有别的办法吗?我不知道。也许一些JAXB专家会来为您解答这个问题:-。我只是根据我测试的内容提供一个评论。
@DiscriminatorColumn  
(  
 name="Discriminator",  
 discriminatorType=DiscriminatorType.STRING  
)  
@DiscriminatorValue(value="B")