gpt4 book ai didi

java - 阻止 schemagen 将父类(super class)添加到模式中?

转载 作者:搜寻专家 更新时间:2023-11-01 00:53:32 25 4
gpt4 key购买 nike

如何防止 schemagen 将父类(super class)添加到架构中?

我已经尝试在父类(super class)及其字段上使用 XMLTransient,但它们仍然出现在架构中。

例如:

@XmlTransient
public class Asset {

@XmlTransient
public Long ID;
}

public class Movie extends Asset {

}

创建这个模式:

<xs:complexType name="asset">
<xs:sequence>
<xs:element name="ID" type="xs:long" minOccurs="0"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="movie">
<xs:complexContent>
<xs:extension base="asset">
<xs:sequence/>
</xs:extension>
</xs:complexContent>
</xs:complexType>

the schema that i would like to see is :

<xs:complexType name="movie">
<xs:complexContent>
<xs:sequence/>
</xs:extension>
</xs:complexContent>
</xs:complexType>

最佳答案

您自己找到了答案。如果将 @XMLTransient 注释添加到字段,JAXB Java-to-schema 生成将忽略它。这里说明了XMLTransient documentation .

如果您使用的 schemagen 工具没有执行此操作,那么它的实现存在错误。

关于java - 阻止 schemagen 将父类(super class)添加到模式中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2450464/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com